Skip to content

Commit

Permalink
net/bonding: fix unicast packets filtering
Browse files Browse the repository at this point in the history
[ upstream commit 0ec2344 ]

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: 71b7b37 ("net/bonding: use ptype flags for LACP Rx filtering")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Chas Williams <chas3@att.com>
  • Loading branch information
david-marchand authored and kevintraynor committed Nov 21, 2019
1 parent 33cd77e commit 1707c30
Showing 1 changed file with 0 additions and 7 deletions.
7 changes: 0 additions & 7 deletions drivers/net/bonding/rte_eth_bond_pmd.c
Expand Up @@ -301,13 +301,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 *));

Expand Down

0 comments on commit 1707c30

Please sign in to comment.