switchdev: Add support for flood control
Allow devices supporting this feature to control the flooding of unknown unicast traffic, by making switchdev infrastructure propagate this setting to the switch driver. Signed-off-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
65bdc43d22
commit
741af0053b
|
@ -298,6 +298,9 @@ packets up to the bridge driver for flooding. This is not ideal as the number
|
|||
of ports scale in the L2 domain as the device is much more efficient at
|
||||
flooding packets that software.
|
||||
|
||||
If supported by the device, flood control can be offloaded to it, preventing
|
||||
certain netdevs from flooding unicast traffic for which there is no FDB entry.
|
||||
|
||||
IGMP Snooping
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
|
|
|
@ -746,7 +746,7 @@ int switchdev_port_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq,
|
|||
.id = SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS,
|
||||
};
|
||||
u16 mode = BRIDGE_MODE_UNDEF;
|
||||
u32 mask = BR_LEARNING | BR_LEARNING_SYNC;
|
||||
u32 mask = BR_LEARNING | BR_LEARNING_SYNC | BR_FLOOD;
|
||||
int err;
|
||||
|
||||
err = switchdev_port_attr_get(dev, &attr);
|
||||
|
@ -817,6 +817,9 @@ static int switchdev_port_br_setlink_protinfo(struct net_device *dev,
|
|||
err = switchdev_port_br_setflag(dev, attr,
|
||||
BR_LEARNING_SYNC);
|
||||
break;
|
||||
case IFLA_BRPORT_UNICAST_FLOOD:
|
||||
err = switchdev_port_br_setflag(dev, attr, BR_FLOOD);
|
||||
break;
|
||||
default:
|
||||
err = -EOPNOTSUPP;
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue