diff options
Diffstat (limited to 'net/bridge/br_if.c')
-rw-r--r-- | net/bridge/br_if.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c index f3a2e29be40c..690573bbf012 100644 --- a/net/bridge/br_if.c +++ b/net/bridge/br_if.c | |||
@@ -152,6 +152,8 @@ static void del_nbp(struct net_bridge_port *p) | |||
152 | br_stp_disable_port(p); | 152 | br_stp_disable_port(p); |
153 | spin_unlock_bh(&br->lock); | 153 | spin_unlock_bh(&br->lock); |
154 | 154 | ||
155 | br_ifinfo_notify(RTM_DELLINK, p); | ||
156 | |||
155 | br_fdb_delete_by_port(br, p, 1); | 157 | br_fdb_delete_by_port(br, p, 1); |
156 | 158 | ||
157 | list_del_rcu(&p->list); | 159 | list_del_rcu(&p->list); |
@@ -203,7 +205,7 @@ static struct net_device *new_bridge_dev(const char *name) | |||
203 | memcpy(br->group_addr, br_group_address, ETH_ALEN); | 205 | memcpy(br->group_addr, br_group_address, ETH_ALEN); |
204 | 206 | ||
205 | br->feature_mask = dev->features; | 207 | br->feature_mask = dev->features; |
206 | br->stp_enabled = 0; | 208 | br->stp_enabled = BR_NO_STP; |
207 | br->designated_root = br->bridge_id; | 209 | br->designated_root = br->bridge_id; |
208 | br->root_path_cost = 0; | 210 | br->root_path_cost = 0; |
209 | br->root_port = 0; | 211 | br->root_port = 0; |
@@ -434,6 +436,8 @@ int br_add_if(struct net_bridge *br, struct net_device *dev) | |||
434 | br_stp_enable_port(p); | 436 | br_stp_enable_port(p); |
435 | spin_unlock_bh(&br->lock); | 437 | spin_unlock_bh(&br->lock); |
436 | 438 | ||
439 | br_ifinfo_notify(RTM_NEWLINK, p); | ||
440 | |||
437 | dev_set_mtu(br->dev, br_min_mtu(br)); | 441 | dev_set_mtu(br->dev, br_min_mtu(br)); |
438 | 442 | ||
439 | kobject_uevent(&p->kobj, KOBJ_ADD); | 443 | kobject_uevent(&p->kobj, KOBJ_ADD); |