X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fmeta-flow.h;h=91dfecdaaea18c5e394ddbc7ecfc5353c1dc097f;hb=0ef165ecb57943e17a8ee8270df68ffb8d032e29;hp=c2b0bbc23090030cce2f7254e7fb8ec359d7046a;hpb=7f98c44d8acbaf62ff5375e137bcf37b7336bbc8;p=sliver-openvswitch.git diff --git a/lib/meta-flow.h b/lib/meta-flow.h index c2b0bbc23..91dfecdaa 100644 --- a/lib/meta-flow.h +++ b/lib/meta-flow.h @@ -33,6 +33,8 @@ struct match; * to represent its value. */ enum OVS_PACKED_ENUM mf_field_id { /* Metadata. */ + MFF_DP_HASH, /* be32 */ + MFF_RECIRC_ID, /* be32 */ MFF_TUN_ID, /* be64 */ MFF_TUN_SRC, /* be32 */ MFF_TUN_DST, /* be32 */ @@ -232,6 +234,7 @@ enum OVS_PACKED_ENUM mf_string { MFS_OFP_PORT_OXM, /* An OpenFlow port number or name (32-bit). */ MFS_FRAG, /* no, yes, first, later, not_later */ MFS_TNL_FLAGS, /* FLOW_TNL_F_* flags */ + MFS_TCP_FLAGS, /* TCP_* flags */ }; struct mf_field { @@ -296,6 +299,9 @@ struct mf_field { enum ofputil_protocol usable_protocols; /* If fully/cidr masked. */ /* If partially/non-cidr masked. */ enum ofputil_protocol usable_protocols_bitwise; + + int flow_be32ofs; /* Field's be32 offset in "struct flow", if prefix tree + * lookup is supported for the field, or -1. */ }; /* The representation of a field's value. */ @@ -378,8 +384,6 @@ enum ofputil_protocol mf_set(const struct mf_field *, void mf_set_wild(const struct mf_field *, struct match *); -void mf_random_value(const struct mf_field *, union mf_value *value); - /* Subfields. */ void mf_write_subfield_flow(const struct mf_subfield *, const union mf_subvalue *, struct flow *);