diff options
author | Jiri Pirko <jpirko@redhat.com> | 2010-03-10 10:30:19 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-03-18 20:00:02 -0700 |
commit | 1c01fe14a87332cc88266fbd6e598319322eb96f (patch) | |
tree | e80491a8120724db96f7f6c6d2e2334d33383e6c /net/bridge | |
parent | 3ca5b4042ecae5e73c59de62e4ac0db31c10e0f8 (diff) | |
download | linux-3.10-1c01fe14a87332cc88266fbd6e598319322eb96f.tar.gz linux-3.10-1c01fe14a87332cc88266fbd6e598319322eb96f.tar.bz2 linux-3.10-1c01fe14a87332cc88266fbd6e598319322eb96f.zip |
net: forbid underlaying devices to change its type
It's not desired for underlaying devices to change type. At the time,
there is for example possible to have bond with changed type from
Ethernet to Infiniband as a port of a bridge. This patch fixes this.
Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge')
-rw-r--r-- | net/bridge/br_notify.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/bridge/br_notify.c b/net/bridge/br_notify.c index 763a3ec292e..1413b72acc7 100644 --- a/net/bridge/br_notify.c +++ b/net/bridge/br_notify.c @@ -82,6 +82,10 @@ static int br_device_event(struct notifier_block *unused, unsigned long event, v case NETDEV_UNREGISTER: br_del_if(br, dev); break; + + case NETDEV_PRE_TYPE_CHANGE: + /* Forbid underlaying device to change its type. */ + return NOTIFY_BAD; } /* Events that may cause spanning tree to refresh */ |