• Veaceslav Falico's avatar
    net: add NETDEV_PRECHANGEMTU to notify before mtu change happens · 1d486bfb
    Veaceslav Falico authored
    Currently, if a device changes its mtu, first the change happens (invloving
    all the side effects), and after that the NETDEV_CHANGEMTU is sent so that
    other devices can catch up with the new mtu. However, if they return
    NOTIFY_BAD, then the change is reverted and error returned.
    
    This is a really long and costy operation (sometimes). To fix this, add
    NETDEV_PRECHANGEMTU notification which is called prior to any change
    actually happening, and if any callee returns NOTIFY_BAD - the change is
    aborted. This way we're skipping all the playing with apply/revert the mtu.
    
    CC: "David S. Miller" <davem@davemloft.net>
    CC: Jiri Pirko <jiri@resnulli.us>
    CC: Eric Dumazet <edumazet@google.com>
    CC: Nicolas Dichtel <nicolas.dichtel@6wind.com>
    CC: Cong Wang <amwang@redhat.com>
    Signed-off-by: default avatarVeaceslav Falico <vfalico@redhat.com>
    Acked-by: default avatarJiri Pirko <jiri@resnulli.us>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    1d486bfb
dev.c 175 KB