Subject: restoring IP multicast addresses when restarting the interface.

From: Flavio Leitner <[email-masked]>
Date: Fri, 20 Apr 2012 21:25:33 -0300

Hello folks,

I was told that ntp in multicast mode was not working if you
restart the interface (ifdown <iface> ; ifup <iface) on an
older kernel.

It seemed obvious to me, but when I tried to reproduce this
upstream (last kernel of today), I noticed that the kernel
does restore the previous added multicast addresses. Therefore,
there is no issues.

I found that this is due to mainly this commit below which
doesn't remove idev when the addresses are deleted.

commit 6363097cc4d182f93788131b5d8f72aa91d950a0
Author: Herbert Xu <[email-masked]>
Date:   Thu Jun 7 18:35:38 2007 -0700

    [IPV4]: Do not remove idev when addresses are cleared
    
    Now that we create idev before addresses are added, it no longer makes
    sense to remove them when addresses are all deleted.
    
    Signed-off-by: Herbert Xu <[email-masked]>
    Signed-off-by: David S. Miller <[email-masked]>

Although the new behavior seems nice and save some user space
work, I think it was unintentional and likely to be a bug.

What you guys think?

thanks,
fbl