On Tue, 2014-01-07 at 13:01 +0100, Hannes Frederic Sowa wrote: > On Mon, Jan 06, 2014 at 06:29:35PM +0100, Thomas Haller wrote: > > @@ -3662,8 +3666,10 @@ static int inet6_addr_modify(struct inet6_ifaddr *ifp, u32 ifa_flags, > > if (!(ifp->flags&IFA_F_TENTATIVE)) > > ipv6_ifa_notify(0, ifp); > > > > - addrconf_prefix_route(&ifp->addr, ifp->prefix_len, ifp->idev->dev, > > - expires, flags); > > + if (ifa_flags & IFA_F_NOPREFIXROUTE == 0) { > > + addrconf_prefix_route(&ifp->addr, ifp->prefix_len, ifp->idev->dev, > > + expires, flags); > > + } > > Actually, if we switch from IFA_F_NOPREFIXROUTE to !IFA_F_NOPREFIXROUTE we > have to remove the prefix route, no? > > Greetings, > > Hannes > hi Hannes, I am about to resent the patch, so that IFA_F_NOPREFIXROUTE is saved in the flags of the address. Later, when deleting such address, this is used to indicate ~not~ to delete any prefix route... just as you suggest in your earlier email (if I understood you right). About this suggestion now, I tend to "no". Yes, it could be sensible, on the other hand, if user space already controls the routes (as indicated by it's use of IFA_F_NOPREFIXROUTES), I would just leave it to the user to clean up the wrong prefix route. What do you think? Thomas