| From a826b04303a40d52439aa141035fca5654ccaccd Mon Sep 17 00:00:00 2001 |
| From: Matteo Croce <mcroce@microsoft.com> |
| Date: Fri, 15 Jan 2021 19:42:08 +0100 |
| Subject: ipv6: create multicast route with RTPROT_KERNEL |
| |
| From: Matteo Croce <mcroce@microsoft.com> |
| |
| 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> |
| |
| --- |
| net/ipv6/addrconf.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/net/ipv6/addrconf.c |
| +++ b/net/ipv6/addrconf.c |
| @@ -2356,6 +2356,7 @@ static void addrconf_add_mroute(struct n |
| .fc_dst_len = 8, |
| .fc_flags = RTF_UP, |
| .fc_nlinfo.nl_net = dev_net(dev), |
| + .fc_protocol = RTPROT_KERNEL, |
| }; |
| |
| ipv6_addr_set(&cfg.fc_dst, htonl(0xFF000000), 0, 0, 0); |