2 * Distributed under the terms of the GNU GPL version 2.
3 * Copyright (c) 2007, 2008, 2009 Nicira Networks.
5 * Significant portions of this file may be copied from parts of the Linux
6 * kernel, by Linus Torvalds and others.
9 /* Handle changes to managed devices */
11 #include <linux/netdevice.h>
16 static int dp_device_event(struct notifier_block
*unused
, unsigned long event
,
19 struct net_device
*dev
= ptr
;
20 struct net_bridge_port
*p
;
24 struct dp_dev
*dp_dev
= dp_dev_priv(dev
);
25 p
= dp_dev
->dp
->ports
[dp_dev
->port_no
];
34 case NETDEV_UNREGISTER
:
35 mutex_lock(&dp
->mutex
);
37 mutex_unlock(&dp
->mutex
);
40 case NETDEV_CHANGENAME
:
41 if (p
->port_no
!= ODPP_LOCAL
) {
42 mutex_lock(&dp
->mutex
);
45 mutex_unlock(&dp
->mutex
);
49 case NETDEV_CHANGEMTU
:
50 if (!is_dp_dev(dev
)) {
51 mutex_lock(&dp
->mutex
);
52 set_dp_devs_mtu(dp
, dev
);
53 mutex_unlock(&dp
->mutex
);
60 struct notifier_block dp_device_notifier
= {
61 .notifier_call
= dp_device_event