From 0ec234460b9282c96033282a9679e88d2df5e58e Mon Sep 17 00:00:00 2001 From: David Marchand Date: Wed, 10 Apr 2019 14:53:48 +0200 Subject: [PATCH] net/bonding: fix unicast packets filtering By default, the 802.3ad code enables promisc mode on all slaves. To avoid all packets going to the application (unless the application asked for promiscuous mode), all frames are supposed to be filtered in the rx burst handler. However the incriminated commit broke this because non pure ethernet frames (basically any unicast Ether()/IP() packet) are not filtered anymore. Fixes: 71b7b37ec959 ("net/bonding: use ptype flags for LACP Rx filtering") Cc: stable@dpdk.org Signed-off-by: David Marchand Acked-by: Chas Williams --- drivers/net/bonding/rte_eth_bond_pmd.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index 44af5ade17..49e38f6b17 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -304,13 +304,6 @@ rx_burst_8023ad(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts, /* Handle slow protocol packets. */ while (j < num_rx_total) { - - /* If packet is not pure L2 and is known, skip it */ - if ((bufs[j]->packet_type & ~RTE_PTYPE_L2_ETHER) != 0) { - j++; - continue; - } - if (j + 3 < num_rx_total) rte_prefetch0(rte_pktmbuf_mtod(bufs[j + 3], void *)); -- 2.20.1