summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatteo Croce <mcroce@microsoft.com>2021-01-15 19:42:08 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-01-27 11:47:53 +0100
commitbc757ba6dc75e80b5307bef0f1a42c13a0a43b88 (patch)
tree32bf6dca22377d7d0153e7f29f59e3000fdcdee3
parent60fb547a3d5d676c6631be81746617ab0756b0e4 (diff)
downloadlinux-stable-bc757ba6dc75e80b5307bef0f1a42c13a0a43b88.tar.gz
linux-stable-bc757ba6dc75e80b5307bef0f1a42c13a0a43b88.tar.bz2
linux-stable-bc757ba6dc75e80b5307bef0f1a42c13a0a43b88.zip
ipv6: create multicast route with RTPROT_KERNEL
commit a826b04303a40d52439aa141035fca5654ccaccd upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--net/ipv6/addrconf.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 635b2482fa20..d315fb270514 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -2454,6 +2454,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);