[dpdk-dev] [PATCH] bonding: add QinQ packet xmit hash support

Chas Williams 3chas3 at gmail.com
Sun Sep 16 18:02:24 CEST 2018


I think this change already went in dpdk-next-net:

commit 61e99d7e944885e8d625ded41b5877653e0b637e
Author: Yunjian Wang <wangyunjian at huawei.com>
Date:   Tue Aug 7 16:10:46 2018 +0800

    net/bonding: add support to match on 0x88A8 ethertype

    We assume VLAN ethtertype is 0x8100 in get_vlan_offset() function,
    but it could be 0x88A8 if QinQ is supported.

    Fixes: 06fe78b98ccd ("bond: add mode 6")
    Cc: stable at dpdk.org

    Signed-off-by: Yunjian Wang <wangyunjian at huawei.com>
    Acked-by: Chas Williams <chas3 at att.com>
On Fri, Sep 14, 2018 at 9:52 PM Lilijun <jerry.lilijun at huawei.com> wrote:
>
> For QinQ packet with ether type 0x88a8, dpdk bond's xmit hash policy is
> not worked to get the ip or port field.
>
> Signed-off-by: Lilijun <jerry.lilijun at huawei.com>
> ---
>  drivers/net/bonding/rte_eth_bond_pmd.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
> index 58f7377..4417422 100644
> --- a/drivers/net/bonding/rte_eth_bond_pmd.c
> +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
> @@ -37,7 +37,8 @@
>  {
>         size_t vlan_offset = 0;
>
> -       if (rte_cpu_to_be_16(ETHER_TYPE_VLAN) == *proto) {
> +       if (rte_cpu_to_be_16(ETHER_TYPE_VLAN) == *proto ||
> +               rte_cpu_to_be_16(ETHER_TYPE_QINQ) == *proto) {
>                 struct vlan_hdr *vlan_hdr = (struct vlan_hdr *)(eth_hdr + 1);
>
>                 vlan_offset = sizeof(struct vlan_hdr);
> --
> 1.8.4.msysgit.0
>
>


More information about the dev mailing list