Re: [net-next v2 10/11] net: bridge: mcast: add ip4+ip6 mcast router timers to mdb netlink

Nikolay Aleksandrov
2021-05-11T09:30:46Z

On 09/05/2021 22:45, Linus Lüssing wrote:
> Now that we have split the multicast router state into two, one for IPv4
> and one for IPv6, also add individual timers to the mdb netlink router
> port dump. Leaving the old timer attribute for backwards compatibility.
>
> Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
> ---
> include/uapi/linux/if_bridge.h | 2 ++
> net/bridge/br_mdb.c | 8 +++++++-
> 2 files changed, 9 insertions(+), 1 deletion(-)
>

Acked-by: Nikolay Aleksandrov <nikolay@nvidia.com>

> diff --git a/include/uapi/linux/if_bridge.h b/include/uapi/linux/if_bridge.h
> index 13d59c5..6b56a75 100644
> --- a/include/uapi/linux/if_bridge.h
> +++ b/include/uapi/linux/if_bridge.h
> @@ -627,6 +627,8 @@ enum {
> MDBA_ROUTER_PATTR_UNSPEC,
> MDBA_ROUTER_PATTR_TIMER,
> MDBA_ROUTER_PATTR_TYPE,
> + MDBA_ROUTER_PATTR_INET_TIMER,
> + MDBA_ROUTER_PATTR_INET6_TIMER,
> __MDBA_ROUTER_PATTR_MAX
> };
> #define MDBA_ROUTER_PATTR_MAX (__MDBA_ROUTER_PATTR_MAX - 1)
> diff --git a/net/bridge/br_mdb.c b/net/bridge/br_mdb.c
> index 3c608da..2cdd9b6 100644
> --- a/net/bridge/br_mdb.c
> +++ b/net/bridge/br_mdb.c
> @@ -79,7 +79,13 @@ static int br_rports_fill_info(struct sk_buff *skb, struct netlink_callback *cb,
> nla_put_u32(skb, MDBA_ROUTER_PATTR_TIMER,
> max(ip4_timer, ip6_timer)) ||
> nla_put_u8(skb, MDBA_ROUTER_PATTR_TYPE,
> - p->multicast_router)) {
> + p->multicast_router) ||
> + (have_ip4_mc_rtr &&
> + nla_put_u32(skb, MDBA_ROUTER_PATTR_INET_TIMER,
> + ip4_timer)) ||
> + (have_ip6_mc_rtr &&
> + nla_put_u32(skb, MDBA_ROUTER_PATTR_INET6_TIMER,
> + ip6_timer))) {
> nla_nest_cancel(skb, port_nest);
> goto fail;
> }
>