• Sabrina Dubroca's avatar
    macsec: update operstate when lower device changes · e6ac0758
    Sabrina Dubroca authored
    Like all other virtual devices (macvlan, vlan), the operstate of a
    macsec device should match the state of its lower device. This is done
    by calling netif_stacked_transfer_operstate from its netdevice notifier.
    
    We also need to call netif_stacked_transfer_operstate when a new macsec
    device is created, so that its operstate is set properly. This is only
    relevant when we try to bring the device up directly when we create it.
    
    Radu Rendec proposed a similar patch, inspired from the 802.1q driver,
    that included changing the administrative state of the macsec device,
    instead of just the operstate. This version is similar to what the
    macvlan driver does, and updates only the operstate.
    
    Fixes: c09440f7 ("macsec: introduce IEEE 802.1AE driver")
    Reported-by: default avatarRadu Rendec <radu.rendec@gmail.com>
    Reported-by: default avatarPatrick Talbert <ptalbert@redhat.com>
    Signed-off-by: default avatarSabrina Dubroca <sd@queasysnail.net>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e6ac0758
macsec.c 86.1 KB