From: jeffreyji <[email protected]>
skb is ignored if team port is disabled. We want the skb to be delivered
if it's an LLDP packet.
Issue is already fixed for bonding in commit
b89f04c61efe3b7756434d693b9203cc0cce002e
Signed-off-by: jeffreyji <[email protected]>
---
drivers/net/team/team.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c
index 8b2adc56b92a..24d66dfbb2e1 100644
--- a/drivers/net/team/team.c
+++ b/drivers/net/team/team.c
@@ -734,6 +734,12 @@ static rx_handler_result_t team_handle_frame(struct sk_buff **pskb)
port = team_port_get_rcu(skb->dev);
team = port->team;
if (!team_port_enabled(port)) {
+ if (is_link_local_ether_addr(eth_hdr(skb)->h_dest))
+ /*
+ * link-local packets are mostly useful when stack
+ * receives them with the link they arrive on.
+ */
+ return RX_HANDLER_PASS;
/* allow exact match delivery for disabled ports */
res = RX_HANDLER_EXACT;
} else {
--
2.35.1.265.g69c8d7142f-goog
On Tue, 15 Feb 2022 22:05:17 +0000 Jeffrey Ji wrote:
> From: jeffreyji <[email protected]>
>
> skb is ignored if team port is disabled. We want the skb to be delivered
> if it's an LLDP packet.
>
> Issue is already fixed for bonding in commit
> b89f04c61efe3b7756434d693b9203cc0cce002e
This is not the correct way to quote a commit. It should be
commit <12+ chars of sha1> ("title line").
> Signed-off-by: jeffreyji <[email protected]>
You must CC maintainers. scripts/get_maintainer.pl is your friend.
You don't have to CC linux-kernel, tho, nobody reads that. Please
resend.
> diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c
> index 8b2adc56b92a..24d66dfbb2e1 100644
> --- a/drivers/net/team/team.c
> +++ b/drivers/net/team/team.c
> @@ -734,6 +734,12 @@ static rx_handler_result_t team_handle_frame(struct sk_buff **pskb)
> port = team_port_get_rcu(skb->dev);
> team = port->team;
> if (!team_port_enabled(port)) {
> + if (is_link_local_ether_addr(eth_hdr(skb)->h_dest))
> + /*
Please run checkpatch --strict on your submissions
> + * link-local packets are mostly useful when stack
> + * receives them with the link they arrive on.
> + */
> + return RX_HANDLER_PASS;
> /* allow exact match delivery for disabled ports */
> res = RX_HANDLER_EXACT;
> } else {