Skip to content

Commit

Permalink
net: dsa: {e}dsa: set offload_fwd_mark on received packets
Browse files Browse the repository at this point in the history
The software bridge needs to know if a packet has already been bridged
by hardware offload to ports in the same hardware offload, in order
that it does not re-flood them, causing duplicates. This is
particularly true for broadcast and multicast traffic which the host
has requested.

By setting offload_fwd_mark in the skb the bridge will only flood to
ports in other offloads and other netifs. Set this flag in the DSA and
EDSA tag driver.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Andrew Lunn authored and David S. Miller committed Nov 11, 2017
1 parent a42c8e3 commit 13edbdb
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 0 deletions.
2 changes: 2 additions & 0 deletions net/dsa/tag_dsa.c
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,8 @@ static struct sk_buff *dsa_rcv(struct sk_buff *skb, struct net_device *dev,
2 * ETH_ALEN);
}

skb->offload_fwd_mark = 1;

return skb;
}

Expand Down
2 changes: 2 additions & 0 deletions net/dsa/tag_edsa.c
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,8 @@ static struct sk_buff *edsa_rcv(struct sk_buff *skb, struct net_device *dev,
2 * ETH_ALEN);
}

skb->offload_fwd_mark = 1;

return skb;
}

Expand Down

0 comments on commit 13edbdb

Please sign in to comment.