Thanks for pointing it out. I'm going to rename it to "flow_vlan_hdr".
On Thu, Jul 7, 2016 at 9:45 PM, Ilya Maximets <[email protected]> wrote: > Hi, Xiao. > You did a good job. > > Unfortunately, this patch breaks dpdk build because of redeclaration of > structure with same name: > > include/openvswitch/packets.h: > ---------------------------------- > struct vlan_hdr { > ovs_be16 tpid; /* ETH_TYPE_VLAN_DOT1Q or ETH_TYPE_DOT1AD */ > ovs_be16 tci; > }; > > DPDK:lib/librte_ether/rte_ether.h : > ---------------------------------- > /** > * Ethernet VLAN Header. > * Contains the 16-bit VLAN Tag Control Identifier and the Ethernet type > * of the encapsulated frame. > */ > struct vlan_hdr { > uint16_t vlan_tci; /**< Priority (3) + CFI (1) + Identifier Code (12) > */ > uint16_t eth_proto;/**< Ethernet type of encapsulated frame. */ > } __attribute__((__packed__)); > > Actually, this structures are logically equal. This collision should be fixed > somehow. > > Best regards, Ilya Maximets. > > On 03.07.2016 03:47, Xiao Liang wrote: >> Flow key handleing changes: >> - Add VLAN header array in struct flow, to record multiple 802.1q VLAN >> headers. >> - Add dpif multi-VLAN capability probing. If datapath supports multi-VLAN, >> increase the maximum depth of nested OVS_KEY_ATTR_ENCAP. >> >> Refacter VLAN handling in dpif-xlate: >> - Introduce 'xvlan' to track VLAN stack during flow processing. >> - Input and output VLAN translation according to the xbundle type. >> >> Push VLAN action support: >> - Allow ethertype 0x88a8 in VLAN headers and push_vlan action. >> - Support push_vlan on dot1q packets. >> >> Add new port VLAN mode "dot1q-tunnel": >> - Example: >> ovs-vsctl set Port p1 vlan_mode=dot1q-tunnel tag=100 >> Pushes another VLAN 100 header on packets (tagged and untagged) on ingress, >> and pops it on egress. >> - Customer VLAN check: >> ovs-vsctl set Port p1 vlan_mode=dot1q-tunnel tag=100 cvlans=10,20 >> Only customer VLAN of 10 and 20 are allowed. >> >> Signed-off-by: Xiao Liang <[email protected]> >> --- >> include/openvswitch/flow.h | 13 +- >> include/openvswitch/ofp-actions.h | 10 +- >> include/openvswitch/packets.h | 5 + >> lib/dpctl.c | 29 ++- >> lib/dpif-netdev.c | 7 +- >> lib/flow.c | 109 ++++++---- >> lib/flow.h | 6 +- >> lib/match.c | 47 ++-- >> lib/meta-flow.c | 22 +- >> lib/nx-match.c | 14 +- >> lib/odp-util.c | 227 ++++++++++++-------- >> lib/odp-util.h | 4 +- >> lib/ofp-actions.c | 61 +++--- >> lib/ofp-util.c | 56 ++--- >> lib/tnl-ports.c | 2 +- >> ofproto/bond.c | 2 +- >> ofproto/ofproto-dpif-ipfix.c | 6 +- >> ofproto/ofproto-dpif-rid.h | 2 +- >> ofproto/ofproto-dpif-sflow.c | 4 +- >> ofproto/ofproto-dpif-xlate.c | 436 >> ++++++++++++++++++++++++++------------ >> ofproto/ofproto-dpif-xlate.h | 6 +- >> ofproto/ofproto-dpif.c | 74 ++++++- >> ofproto/ofproto.h | 8 +- >> ovn/controller/pinctrl.c | 5 +- >> tests/test-classifier.c | 15 +- >> utilities/ovs-ofctl.c | 29 +-- >> vswitchd/bridge.c | 27 ++- >> vswitchd/vswitch.ovsschema | 16 +- >> vswitchd/vswitch.xml | 31 +++ >> 29 files changed, 866 insertions(+), 407 deletions(-) _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
