]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
ipv6: create multicast route with RTPROT_KERNEL
authorMatteo Croce <mcroce@microsoft.com>
Fri, 15 Jan 2021 18:42:08 +0000 (19:42 +0100)
committerJakub Kicinski <kuba@kernel.org>
Tue, 19 Jan 2021 03:52:02 +0000 (19:52 -0800)
The ff00::/8 multicast route is created without specifying the fc_protocol
field, so the default RTPROT_BOOT value is used:

  $ ip -6 -d route
  unicast ::1 dev lo proto kernel scope global metric 256 pref medium
  unicast fe80::/64 dev eth0 proto kernel scope global metric 256 pref medium
  unicast ff00::/8 dev eth0 proto boot scope global metric 256 pref medium

As the documentation says, this value identifies routes installed during
boot, but the route is created when interface is set up.
Change the value to RTPROT_KERNEL which is a better value.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Matteo Croce <mcroce@microsoft.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ipv6/addrconf.c

index eff2cacd52093962d17bb9798b21ed20d7b1a995..19bf6822911cd2f61aaa3570e475a922d3376c0a 100644 (file)
@@ -2469,6 +2469,7 @@ static void addrconf_add_mroute(struct net_device *dev)
                .fc_flags = RTF_UP,
                .fc_type = RTN_UNICAST,
                .fc_nlinfo.nl_net = dev_net(dev),
+               .fc_protocol = RTPROT_KERNEL,
        };
 
        ipv6_addr_set(&cfg.fc_dst, htonl(0xFF000000), 0, 0, 0);