On Fri, Mar 11, 2016 at 03:18:00PM +0530, Ajmer Singh wrote:
> ---------- Forwarded message ----------
> From: Ajmer Singh <ajmersingh.t...@gmail.com>
> Date: Fri, Mar 11, 2016 at 3:16 PM
> Subject: Re: [ovs-dev] Where to add GTP tunnel headers in datapath flow
> table of open vSwitch
> To: Jesse Gross <je...@kernel.org>
> 
> 
> Hi,
> 
> 
> openflow1.3 specification supports below match fields.
> 
> enum oxm_ofb_match_fields {
> OFPXMT_OFB_IN_PORT = 0, /* Switch input port. */
> OFPXMT_OFB_IN_PHY_PORT = 1, /* Switch physical input port. */
> OFPXMT_OFB_METADATA = 2, /* Metadata passed between tables. */
> OFPXMT_OFB_ETH_DST = 3, /* Ethernet destination address. */
> OFPXMT_OFB_ETH_SRC = 4, /* Ethernet source address. */
> OFPXMT_OFB_ETH_TYPE = 5, /* Ethernet frame type. */
> OFPXMT_OFB_VLAN_VID = 6, /* VLAN id. */
> ---------------------------------------
> OFPXMT_OFB_IPV6_EXTHDR = 39, /* IPv6 Extension Header pseudo-field */
> }
> but open Vswitch2.4 does have different enum constants for match fields.
> 
> enum OVS_PACKED_ENUM mf_field_id{
>     MFF_DP_HASH,
>     MFF_RECIRC_ID,
>     MFF_CONJ_ID,
>     MFF_TUN_ID,
>     MFF_TUN_SRC,
>     MFF_TUN_DST,
>     MFF_TUN_FLAGS,
>     MFF_TUN_TTL,
>     MFF_TUN_TOS,
>     MFF_TUN_GBP_ID,
>     MFF_TUN_GBP_FLAGS,
>     MFF_METADATA,
>     MFF_IN_PORT,
>     MFF_IN_PORT_OXM,
>     MFF_ACTSET_OUTPUT,
>     MFF_SKB_PRIORITY,
>     MFF_PKT_MARK,
>     MFF_REG0,
>     MFF_REG1,
>     MFF_REG2,
>     MFF_REG3,
>     MFF_REG4,
>     MFF_REG5,
>     MFF_REG6,
>     MFF_REG7,
> #error "Need to update MFF_REG* to match FLOW_N_REGS"
>     MFF_XREG0,
>     MFF_XREG1,
>     MFF_XREG2,
>     MFF_XREG3,
> #error "Need to update MFF_REG* to match FLOW_N_XREGS"
>     MFF_ETH_SRC,
>     MFF_ETH_DST,
>     MFF_ETH_TYPE,
>     MFF_VLAN_TCI,
>     MFF_DL_VLAN,
>     MFF_VLAN_VID,
>     MFF_DL_VLAN_PCP,
>     MFF_VLAN_PCP,
>     MFF_MPLS_LABEL,
>     MFF_MPLS_TC,
>     MFF_MPLS_BOS,
> /* Update mf_is_l3_or_higher() if MFF_IPV4_SRC is no longer the first
> element
>     MFF_IPV4_SRC,
>     MFF_IPV4_DST,
>     MFF_IPV6_SRC,
>     MFF_IPV6_DST,
>     MFF_IPV6_LABEL,
>     MFF_IP_PROTO,
>     MFF_IP_DSCP,
>     MFF_IP_DSCP_SHIFTED,
>     MFF_IP_ECN,
>     MFF_IP_TTL,
>     MFF_IP_FRAG,
>     MFF_ARP_OP,
>     MFF_ARP_SPA,
>     MFF_ARP_TPA,
>     MFF_ARP_SHA,
>     MFF_ARP_THA,
>     MFF_TCP_SRC,
>     MFF_TCP_DST,
>     MFF_TCP_FLAGS,
>     MFF_UDP_SRC,
>     MFF_UDP_DST,
>     MFF_SCTP_SRC,
>     MFF_SCTP_DST,
>     MFF_ICMPV4_TYPE,
>     MFF_ICMPV4_CODE,
>     MFF_ICMPV6_TYPE,
>     MFF_ICMPV6_CODE,
>     MFF_ND_TARGET,
>     MFF_ND_SLL,
>     MFF_ND_TLL,
>     MFF_N_IDS
> }
> Could you please guide how these maps to standard openflow specification
> match fields?

There's a *huge* comment in meta-flow.h that explains the whole thing.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to