X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fopenflow%2Fopenflow-1.2.h;h=1c3f01764172f5837b44f957f0f56b49bee90d3f;hb=7a97619ae4484604c15b846ce7268094e048729a;hp=0a73ed17bb6b87b20618a597af3fa4499b3adee2;hpb=1e3f34c7693bcabae8e443ac1b246680ef9b60e2;p=sliver-openvswitch.git diff --git a/include/openflow/openflow-1.2.h b/include/openflow/openflow-1.2.h index 0a73ed17b..1c3f01764 100644 --- a/include/openflow/openflow-1.2.h +++ b/include/openflow/openflow-1.2.h @@ -106,8 +106,13 @@ enum oxm12_ofb_match_fields { OFPXMT12_OFB_IPV6_ND_TLL, /* Target link-layer for ND. */ OFPXMT12_OFB_MPLS_LABEL, /* MPLS label. */ OFPXMT12_OFB_MPLS_TC, /* MPLS TC. */ + + /* End Marker */ + OFPXMT12_OFB_MAX, }; +#define OFPXMT12_MASK ((1ULL << OFPXMT12_OFB_MAX) - 1) + /* OXM implementation makes use of NXM as they are the same format * with different field definitions */ @@ -185,23 +190,7 @@ struct ofp12_oxm_experimenter_header { OFP_ASSERT(sizeof(struct ofp12_oxm_experimenter_header) == 8); enum ofp12_action_type { - OFPAT12_OUTPUT = 0, /* Output to switch port. */ - OFPAT12_COPY_TTL_OUT = 11, /* Copy TTL "outwards" -- from next-to-outermost - to outermost */ - OFPAT12_COPY_TTL_IN, /* Copy TTL "inwards" -- from outermost to - next-to-outermost */ - OFPAT12_SET_MPLS_TTL = 15, /* MPLS TTL */ - OFPAT12_DEC_MPLS_TTL, /* Decrement MPLS TTL */ - OFPAT12_PUSH_VLAN, /* Push a new VLAN tag */ - OFPAT12_POP_VLAN, /* Pop the outer VLAN tag */ - OFPAT12_PUSH_MPLS, /* Push a new MPLS tag */ - OFPAT12_POP_MPLS, /* Pop the outer MPLS tag */ - OFPAT12_SET_QUEUE, /* Set queue id when outputting to a port */ - OFPAT12_GROUP, /* Apply group. */ - OFPAT12_SET_NW_TTL, /* IP TTL. */ - OFPAT12_DEC_NW_TTL, /* Decrement IP TTL. */ - OFPAT12_SET_FIELD, /* Set a header field using OXM TLV format. */ - OFPAT12_EXPERIMENTER = 0xffff + OFPAT12_SET_FIELD = 25, /* Set a header field using OXM TLV format. */ }; enum ofp12_controller_max_len { @@ -216,12 +205,11 @@ enum ofp12_controller_max_len { struct ofp12_action_set_field { ovs_be16 type; /* OFPAT12_SET_FIELD. */ ovs_be16 len; /* Length is padded to 64 bits. */ + ovs_be32 dst; /* OXM TLV header */ /* Followed by: - * - Exactly oxm_len bytes containing a single OXM TLV, then * - Exactly ((oxm_len + 4) + 7)/8*8 - (oxm_len + 4) (between 0 and 7) * bytes of all-zero bytes */ - uint8_t field[4]; /* OXM TLV - Make compiler happy */ }; OFP_ASSERT(sizeof(struct ofp12_action_set_field) == 8);