]> git.baikalelectronics.ru Git - kernel.git/commit
macsec: update operstate when lower device changes
authorSabrina Dubroca <sd@queasysnail.net>
Sun, 28 Oct 2018 08:33:09 +0000 (09:33 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 29 Oct 2018 02:26:42 +0000 (19:26 -0700)
commitdf8b33fecbffc85f45b9c346677056441e49b93e
tree351f72f5042cc32cbe2935a9eb63bd013be0cad2
parent49c732bed0ad54f6c84806c8757aa5ec3cd0b860
macsec: update operstate when lower device changes

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: 4453af01ee3c ("macsec: introduce IEEE 802.1AE driver")
Reported-by: Radu Rendec <radu.rendec@gmail.com>
Reported-by: Patrick Talbert <ptalbert@redhat.com>
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/macsec.c