• Moni Shoua's avatar
    bonding: remap muticast addresses without using dev_close() and dev_open() · 75c78500
    Moni Shoua authored
    This patch fixes commit e36b9d16
    . The approach
    there is to call dev_close()/dev_open() whenever the device type is changed in
    order to remap the device IP multicast addresses to HW multicast addresses.
    This approach suffers from 2 drawbacks:
    *. It assumes tha the device is UP when calling dev_close(), or otherwise
       dev_close() has no affect. It is worth to mention that initscripts (Redhat)
       and sysconfig (Suse) doesn't act the same in this matter. 
    *. dev_close() has other side affects, like deleting entries from the routing
       table, which might be unnecessary.
    The fix here is to directly remap the IP multicast addresses to HW multicast
    addresses for a bonding device that changes its type, and nothing else.
    Reported-by: default avatarJason Gunthorpe <jgunthorpe@obsidianresearch.com>
    Signed-off-by: default avatarMoni Shoua <monis@voltaire.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>