On 1/15/21 11:42 AM, Matteo Croce wrote: > From: Matteo Croce <mcr...@microsoft.com> > > 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. > > Signed-off-by: Matteo Croce <mcr...@microsoft.com> > --- > net/ipv6/addrconf.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c > index eff2cacd5209..19bf6822911c 100644 > --- a/net/ipv6/addrconf.c > +++ b/net/ipv6/addrconf.c > @@ -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); >
What's the motivation for changing this? ie., what s/w cares that it is kernel vs boot?