lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 6 Sep 2007 23:05:50 +0200
From:	Milan Kocian <milon@...cz>
To:	Thomas Graf <tgraf@...g.ch>
Cc:	David Miller <davem@...emloft.net>, netdev@...r.kernel.org
Subject: Re: [PATCH 1/1] ipv6: corrects sended rtnetlink message

On Thu, Sep 06, 2007 at 12:47:11PM +0200, Thomas Graf wrote:
> * Milan Kocian <milon@...cz> 2007-08-29 23:51
> > Because RTM_NEWLINK is used to notify about device status change
> > (as I see in net/core/rtnetlink.c) and RTM_DELLINK to inform about
> > NETDEV_UNREGISTER. Why should it be else in ipv6 subsystem ? And
> > userspace programs (quagga) suppose it. Now userspace get two rtnetlink's
> > 'LINK' messages on 'ip l s down' event. First is RTM_NEWLINK from 
> > net/core/rtnetlink.c and second is RTM_DELLINK from ipv6.
> 
> The logic behind is quite simple, we notify via RTM_NEWLINK whenever
> a device changes any of its attributes.
> 
I agree but ipv6 sends on device change (NETDEV_DOWN) RTM_DELLINK message.
BTW when ipv6 send LINK message on NETDEV_UNREGISTER event, why doesn't 
send message on NETDEV_REGISTER event? No symmetry ?

> > quagga story:
> > On NEWLINK (flag IFF_UP is down) message quagga flushes all routes from RIB
> > but leaves ip adresses. On DELLINK message q. flushes routes and addresses.
> > On 'ip l s up' event ipv6 sends addresses and routes again but ipv4 not
> > (it sends only routes). Thus q. stays without knowledge about ipv4's addresses
> > after 'ip l s down/up' commands.
> > 
> > git change:
> > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=979ad663125af4be120697263038bb06ddbb83b4
> 
> It is arguable whether this change is correct, the purpose is clearly
> to notify that IPv6 is no longer available on this interface without
> implying anything beyond that.

ok. However, if I understand, LINK messages handle device changes not
protocol changes. Or not ?

> 
> Fortunately, all unregister events have the ifi_change field set to ~0U
> whereas the "IPv6 disabled" notification sets the ifi_chagne field to
> 0 making it trivial to differ between the two cases. So quagga can
> simply ignore (RTM_DELLINK && !ifi_change) notifications.

Now I ignore (RTM_DELLINK && ifi_family==AF_INET6) :-). But it's only workaround
till next change. 

> 
> > IMHO second possibility is to remove rtnetlink notification about
> > NETDEV_DOWN/_UNREGISTER from ipv6 subsystem because it is duplicate message.
> 
> Please make sure nobody is relying on this notification, IPv6 includes
> more information in link messages, someone may be relying on this. If
> not, feel free to remove the notification.
> 
Hard to find it. I can try to look at other routing sw (probably most using it)
about handling with RTM_DELLINK.
Howerer when was made change from RTM_NEWLINK to RTM_DELLINK without protests,
we can try remove message :-)

Regards,

-- 
Milan Kocian
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists