Previously link-local packets excluding LACP (which are handled by the recv_probe) received on bond slave interfaces are delivered to stack with bond-master device with RX_HANDLER_ANOTHER, however all link-local packets are link specific and should be delivered with exact same link/dev.
Signed-off-by: Chonggang Li <chonggan...@google.com> Signed-off-by: Mahesh Bandewar <mahe...@google.com> Signed-off-by: Maciej Żenczykowski <m...@google.com> --- drivers/net/bonding/bond_main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 01e4a69af421..aeca3d8541b9 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c @@ -1176,6 +1176,9 @@ static rx_handler_result_t bond_handle_frame(struct sk_buff **pskb) } } + /* link-local packets should not be passed to master interface */ + if (is_link_local_ether_addr(eth_hdr(skb)->h_dest)) + return RX_HANDLER_PASS; if (bond_should_deliver_exact_match(skb, slave, bond)) return RX_HANDLER_EXACT; -- 2.12.2.762.g0e3151a226-goog