[dpdk-dev] net/bonding: not handle vlan slow packet

Message ID 5812BE7F.8020007@huawei.com
State Superseded, archived
Delegated to: Bruce Richardson
Headers show

Commit Message

Haifeng Lin Oct. 28, 2016, 2:57 a.m.
If rx vlan offload is enable we should not handle vlan slow
packets too.

Signed-off-by: Haifeng Lin  <haifeng.lin@huawei.com>
---
 drivers/net/bonding/rte_eth_bond_pmd.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

--
1.8.3.1

Patch

diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index 09ce7bf..7765017 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -169,10 +169,11 @@  bond_ethdev_rx_burst_8023ad(void *queue, struct rte_mbuf **bufs,
            /* Remove packet from array if it is slow packet or slave is not
             * in collecting state or bondign interface is not in promiscus
             * mode and packet address does not match. */
-           if (unlikely(hdr->ether_type == ether_type_slow_be ||
+           if (unlikely(!bufs[j]->vlan_tci &&
+                (hdr->ether_type == ether_type_slow_be ||
                !collecting || (!promisc &&
                    !is_multicast_ether_addr(&hdr->d_addr) &&
-                   !is_same_ether_addr(&bond_mac, &hdr->d_addr)))) {
+                   !is_same_ether_addr(&bond_mac, &hdr->d_addr))))) {

                if (hdr->ether_type == ether_type_slow_be) {
                    bond_mode_8023ad_handle_slow_pkt(internals, slaves[i],