diff options
Diffstat (limited to 'net/bridge/br_netlink.c')
-rw-r--r-- | net/bridge/br_netlink.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/net/bridge/br_netlink.c b/net/bridge/br_netlink.c index ffb0dc4cc0e..e5f9ece3c9a 100644 --- a/net/bridge/br_netlink.c +++ b/net/bridge/br_netlink.c | |||
@@ -188,6 +188,8 @@ static int br_rtm_setlink(struct sk_buff *skb, struct nlmsghdr *nlh, void *arg) | |||
188 | 188 | ||
189 | p->state = new_state; | 189 | p->state = new_state; |
190 | br_log_state(p); | 190 | br_log_state(p); |
191 | br_ifinfo_notify(RTM_NEWLINK, p); | ||
192 | |||
191 | return 0; | 193 | return 0; |
192 | } | 194 | } |
193 | 195 | ||
@@ -208,6 +210,7 @@ static struct rtnl_link_ops br_link_ops __read_mostly = { | |||
208 | .priv_size = sizeof(struct net_bridge), | 210 | .priv_size = sizeof(struct net_bridge), |
209 | .setup = br_dev_setup, | 211 | .setup = br_dev_setup, |
210 | .validate = br_validate, | 212 | .validate = br_validate, |
213 | .dellink = br_dev_delete, | ||
211 | }; | 214 | }; |
212 | 215 | ||
213 | int __init br_netlink_init(void) | 216 | int __init br_netlink_init(void) |
@@ -218,19 +221,24 @@ int __init br_netlink_init(void) | |||
218 | if (err < 0) | 221 | if (err < 0) |
219 | goto err1; | 222 | goto err1; |
220 | 223 | ||
221 | err = __rtnl_register(PF_BRIDGE, RTM_GETLINK, NULL, br_dump_ifinfo); | 224 | err = __rtnl_register(PF_BRIDGE, RTM_GETLINK, NULL, |
225 | br_dump_ifinfo, NULL); | ||
222 | if (err) | 226 | if (err) |
223 | goto err2; | 227 | goto err2; |
224 | err = __rtnl_register(PF_BRIDGE, RTM_SETLINK, br_rtm_setlink, NULL); | 228 | err = __rtnl_register(PF_BRIDGE, RTM_SETLINK, |
229 | br_rtm_setlink, NULL, NULL); | ||
225 | if (err) | 230 | if (err) |
226 | goto err3; | 231 | goto err3; |
227 | err = __rtnl_register(PF_BRIDGE, RTM_NEWNEIGH, br_fdb_add, NULL); | 232 | err = __rtnl_register(PF_BRIDGE, RTM_NEWNEIGH, |
233 | br_fdb_add, NULL, NULL); | ||
228 | if (err) | 234 | if (err) |
229 | goto err3; | 235 | goto err3; |
230 | err = __rtnl_register(PF_BRIDGE, RTM_DELNEIGH, br_fdb_delete, NULL); | 236 | err = __rtnl_register(PF_BRIDGE, RTM_DELNEIGH, |
237 | br_fdb_delete, NULL, NULL); | ||
231 | if (err) | 238 | if (err) |
232 | goto err3; | 239 | goto err3; |
233 | err = __rtnl_register(PF_BRIDGE, RTM_GETNEIGH, NULL, br_fdb_dump); | 240 | err = __rtnl_register(PF_BRIDGE, RTM_GETNEIGH, |
241 | NULL, br_fdb_dump, NULL); | ||
234 | if (err) | 242 | if (err) |
235 | goto err3; | 243 | goto err3; |
236 | 244 | ||