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

Reply via email to