diff options
author | Stephen Hemminger <shemminger@osdl.org> | 2004-07-29 00:38:51 -0700 |
---|---|---|
committer | David S. Miller <davem@nuts.davemloft.net> | 2004-07-29 00:38:51 -0700 |
commit | 431ce3dd38e28de324416cef88fd0690c548e97c (patch) | |
tree | 8e827bc4504e51bffe1c46ba2358659cec5df047 /net | |
parent | e953c5c11e19f3f94501af36508e1ef6cc1a2d99 (diff) | |
download | history-431ce3dd38e28de324416cef88fd0690c548e97c.tar.gz |
[BRIDGE]: Propagate bridge internal MTU changes
Need to propagate MTU changes that the bridge does to it's pseudo interface
up to others. There ends up being a double call to br_min_mtu() but that's
harmless.
Cleans up the EXPORT_SYMBOLS including dev_change_flags which is used by vlan.
Shouldn't be basing exports on kernel config options like this.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@redhat.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/bridge/br_if.c | 3 | ||||
-rw-r--r-- | net/bridge/br_notify.c | 2 | ||||
-rw-r--r-- | net/core/dev.c | 7 |
3 files changed, 6 insertions, 6 deletions
diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c index 092d4516364492..b81dee96015cae 100644 --- a/net/bridge/br_if.c +++ b/net/bridge/br_if.c @@ -295,6 +295,7 @@ int br_del_bridge(const char *name) return ret; } +/* Mtu of the bridge pseudo-device 1500 or the minimum of the ports */ int br_min_mtu(const struct net_bridge *br) { const struct net_bridge_port *p; @@ -347,7 +348,7 @@ int br_add_if(struct net_bridge *br, struct net_device *dev) br_stp_enable_port(p); spin_unlock_bh(&br->lock); - br->dev->mtu = br_min_mtu(br); + dev_set_mtu(br->dev, br_min_mtu(br)); } return err; diff --git a/net/bridge/br_notify.c b/net/bridge/br_notify.c index 5c88a71b85e3cf..dbc86ecbd244c1 100644 --- a/net/bridge/br_notify.c +++ b/net/bridge/br_notify.c @@ -48,7 +48,7 @@ static int br_device_event(struct notifier_block *unused, unsigned long event, v break; case NETDEV_CHANGEMTU: - br->dev->mtu = br_min_mtu(br); + dev_set_mtu(br->dev, br_min_mtu(br)); break; case NETDEV_DOWN: diff --git a/net/core/dev.c b/net/core/dev.c index 3bead55e88a634..93a145c4d9ab65 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -3431,6 +3431,8 @@ EXPORT_SYMBOL(dev_queue_xmit_nit); EXPORT_SYMBOL(dev_remove_pack); EXPORT_SYMBOL(dev_set_allmulti); EXPORT_SYMBOL(dev_set_promiscuity); +EXPORT_SYMBOL(dev_change_flags); +EXPORT_SYMBOL(dev_set_mtu); EXPORT_SYMBOL(free_netdev); EXPORT_SYMBOL(netdev_boot_setup_check); EXPORT_SYMBOL(netdev_set_master); @@ -3448,10 +3450,7 @@ EXPORT_SYMBOL(unregister_netdevice_notifier); #if defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE) EXPORT_SYMBOL(br_handle_frame_hook); #endif -/* for 801q VLAN support */ -#if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE) -EXPORT_SYMBOL(dev_change_flags); -#endif + #ifdef CONFIG_KMOD EXPORT_SYMBOL(dev_load); #endif |