]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net/hsr: add interlink to fill_info output
authorJan Vaclav <jvaclav@redhat.com>
Wed, 15 Oct 2025 10:10:02 +0000 (12:10 +0200)
committerJakub Kicinski <kuba@kernel.org>
Thu, 16 Oct 2025 22:52:10 +0000 (15:52 -0700)
Currently, it is possible to configure the interlink
port, but no way to read it back from userspace.

Add it to the output of hsr_fill_info(), so it can be
read from userspace, for example:

$ ip -d link show hsr0
12: hsr0: <BROADCAST,MULTICAST> mtu ...
...
hsr slave1 veth0 slave2 veth1 interlink veth2 ...

Signed-off-by: Jan Vaclav <jvaclav@redhat.com>
Reviewed-by: Fernando Fernandez Mancera <fmancera@suse.de>
Link: https://patch.msgid.link/20251015101001.25670-2-jvaclav@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/hsr/hsr_netlink.c

index 4461adf696234b0410449d11e65f0b34d398221b..8511871307552875858fa418eaa99a49c3768c72 100644 (file)
@@ -160,6 +160,12 @@ static int hsr_fill_info(struct sk_buff *skb, const struct net_device *dev)
                        goto nla_put_failure;
        }
 
+       port = hsr_port_get_hsr(hsr, HSR_PT_INTERLINK);
+       if (port) {
+               if (nla_put_u32(skb, IFLA_HSR_INTERLINK, port->dev->ifindex))
+                       goto nla_put_failure;
+       }
+
        if (nla_put(skb, IFLA_HSR_SUPERVISION_ADDR, ETH_ALEN,
                    hsr->sup_multicast_addr) ||
            nla_put_u16(skb, IFLA_HSR_SEQ_NR, hsr->sequence_nr))