mirror of
https://github.com/torvalds/linux.git
synced 2024-11-16 09:02:00 +00:00
switchdev: update documentation for offload_fwd_mark
Signed-off-by: Scott Feldman <sfeldma@gmail.com> Acked-by: Jiri Pirko <jiri@resnulli.us> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3f98a8e636
commit
a48037e7c6
@ -279,8 +279,18 @@ and unknown unicast packets to all ports in domain, if allowed by port's
|
||||
current STP state. The switch driver, knowing which ports are within which
|
||||
vlan L2 domain, can program the switch device for flooding. The packet should
|
||||
also be sent to the port netdev for processing by the bridge driver. The
|
||||
bridge should not reflood the packet to the same ports the device flooded.
|
||||
XXX: the mechanism to avoid duplicate flood packets is being discuseed.
|
||||
bridge should not reflood the packet to the same ports the device flooded,
|
||||
otherwise there will be duplicate packets on the wire.
|
||||
|
||||
To avoid duplicate packets, the device/driver should mark a packet as already
|
||||
forwarded using skb->offload_fwd_mark. The same mark is set on the device
|
||||
ports in the domain using dev->offload_fwd_mark. If the skb->offload_fwd_mark
|
||||
is non-zero and matches the forwarding egress port's dev->skb_mark, the kernel
|
||||
will drop the skb right before transmit on the egress port, with the
|
||||
understanding that the device already forwarded the packet on same egress port.
|
||||
The driver can use switchdev_port_fwd_mark_set() to set a globally unique mark
|
||||
for port's dev->offload_fwd_mark, based on the port's parent ID (switch ID) and
|
||||
a group ifindex.
|
||||
|
||||
It is possible for the switch device to not handle flooding and push the
|
||||
packets up to the bridge driver for flooding. This is not ideal as the number
|
||||
|
Loading…
Reference in New Issue
Block a user