diff options
author | Ido Schimmel <idosch@nvidia.com> | 2023-10-25 15:30:16 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2023-10-27 10:51:42 +0100 |
commit | 68b380a395a72ace8b77463f6cd2d7fd6dcb5a1b (patch) | |
tree | 7516b1ac9be351159097b3ff1cddf5d550990efe /net/bridge/br_private.h | |
parent | 62f47bf9e2c00eea457cad8fa43c24ed0282b37a (diff) | |
download | lwn-68b380a395a72ace8b77463f6cd2d7fd6dcb5a1b.tar.gz lwn-68b380a395a72ace8b77463f6cd2d7fd6dcb5a1b.zip |
bridge: mcast: Add MDB get support
Implement support for MDB get operation by looking up a matching MDB
entry, allocating the skb according to the entry's size and then filling
in the response. The operation is performed under the bridge multicast
lock to ensure that the entry does not change between the time the reply
size is determined and when the reply is filled in.
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Acked-by: Nikolay Aleksandrov <razor@blackwall.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/br_private.h')
-rw-r--r-- | net/bridge/br_private.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h index 40bbcd9f63b5..6b7f36769d03 100644 --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h @@ -1022,6 +1022,8 @@ int br_mdb_del(struct net_device *dev, struct nlattr *tb[], struct netlink_ext_ack *extack); int br_mdb_dump(struct net_device *dev, struct sk_buff *skb, struct netlink_callback *cb); +int br_mdb_get(struct net_device *dev, struct nlattr *tb[], u32 portid, u32 seq, + struct netlink_ext_ack *extack); void br_multicast_host_join(const struct net_bridge_mcast *brmctx, struct net_bridge_mdb_entry *mp, bool notify); void br_multicast_host_leave(struct net_bridge_mdb_entry *mp, bool notify); @@ -1432,6 +1434,13 @@ static inline int br_mdb_dump(struct net_device *dev, struct sk_buff *skb, return 0; } +static inline int br_mdb_get(struct net_device *dev, struct nlattr *tb[], + u32 portid, u32 seq, + struct netlink_ext_ack *extack) +{ + return -EOPNOTSUPP; +} + static inline int br_mdb_hash_init(struct net_bridge *br) { return 0; |