projects
/
openvswitch
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
nicira-ext: Rename "struct nxt_*" to "struct nx_*".
[openvswitch]
/
lib
/
meta-flow.h
diff --git
a/lib/meta-flow.h
b/lib/meta-flow.h
index 799071320072c8aeeaf123e5d410f19840783e64..a552e3ce8b00aa2d1a58bc80ac584ec692d5bda0 100644
(file)
--- a/
lib/meta-flow.h
+++ b/
lib/meta-flow.h
@@
-178,7
+178,14
@@
struct mf_field {
flow_wildcards_t fww_bit; /* Either 0 or exactly one FWW_* bit. */
enum mf_string string;
enum mf_prereqs prereqs;
flow_wildcards_t fww_bit; /* Either 0 or exactly one FWW_* bit. */
enum mf_string string;
enum mf_prereqs prereqs;
+ bool writable; /* May be written by actions? */
+
+ /* NXM properties.
+ *
+ * A few "mf_field"s don't correspond to NXM fields. Those have 0 and
+ * NULL for the following members, respectively. */
uint32_t nxm_header; /* An NXM_* constant (a few fields have 0). */
uint32_t nxm_header; /* An NXM_* constant (a few fields have 0). */
+ const char *nxm_name; /* The "NXM_*" constant's name. */
};
/* The representation of a field's value. */
};
/* The representation of a field's value. */
@@
-194,6
+201,8
@@
union mf_value {
/* Finding mf_fields. */
const struct mf_field *mf_from_id(enum mf_field_id);
const struct mf_field *mf_from_name(const char *name);
/* Finding mf_fields. */
const struct mf_field *mf_from_id(enum mf_field_id);
const struct mf_field *mf_from_name(const char *name);
+const struct mf_field *mf_from_nxm_header(uint32_t nxm_header);
+const struct mf_field *mf_from_nxm_name(const char *nxm_name);
/* Inspecting wildcarded bits. */
bool mf_is_all_wild(const struct mf_field *, const struct flow_wildcards *);
/* Inspecting wildcarded bits. */
bool mf_is_all_wild(const struct mf_field *, const struct flow_wildcards *);
@@
-213,6
+222,8
@@
void mf_get_value(const struct mf_field *, const struct flow *,
union mf_value *value);
void mf_set_value(const struct mf_field *, const union mf_value *value,
struct cls_rule *);
union mf_value *value);
void mf_set_value(const struct mf_field *, const union mf_value *value,
struct cls_rule *);
+void mf_set_flow_value(const struct mf_field *, const union mf_value *value,
+ struct flow *);
void mf_get(const struct mf_field *, const struct cls_rule *,
union mf_value *value, union mf_value *mask);
void mf_get(const struct mf_field *, const struct cls_rule *,
union mf_value *value, union mf_value *mask);