• nikolay@redhat.com's avatar
    bonding: fix bond_release_all inconsistencies · 0896341a
    nikolay@redhat.com authored
    This patch fixes the following inconsistencies in bond_release_all:
    - IFF_BONDING flag is not stripped from slaves
    - MTU is not restored
    - no netdev notifiers are sent
    Instead of trying to keep bond_release and bond_release_all in sync
    I think we can re-use bond_release as the environment for calling it
    is correct (RTNL is held). I have been running tests for the past
    week and they came out successful. The only way for bond_release to fail
    is for the slave to be attached in a different bond or to not be a slave
    but that cannot happen as RTNL is held and no slave manipulations can be
    achieved.
    
    V2: As suggested bond_release is renamed to __bond_release_one with a
    new parameter "all" introduced so to avoid calling unnecessary code while
    destroying a bond, and a wrapper for it called bond_release is created
    because of ndo_del_link. bond_release_all() is removed.
    Signed-off-by: default avatarNikolay Aleksandrov <nikolay@redhat.com>
    Signed-off-by: default avatarJay Vosburgh <fubar@us.ibm.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0896341a
bond_main.c 130 KB