br_if.c (163849ea9b4c5d50fbd324692461983d18faadad) | br_if.c (2c8c1e7297e19bdef3c178c3ea41d898a7716e3e) |
---|---|
1/* 2 * Userspace interface 3 * Linux ethernet bridge 4 * 5 * Authors: 6 * Lennert Buytenhek <buytenh@gnu.org> 7 * 8 * This program is free software; you can redistribute it and/or --- 453 unchanged lines hidden (view full) --- 462 spin_lock_bh(&br->lock); 463 br_stp_recalculate_bridge_id(br); 464 br_features_recompute(br); 465 spin_unlock_bh(&br->lock); 466 467 return 0; 468} 469 | 1/* 2 * Userspace interface 3 * Linux ethernet bridge 4 * 5 * Authors: 6 * Lennert Buytenhek <buytenh@gnu.org> 7 * 8 * This program is free software; you can redistribute it and/or --- 453 unchanged lines hidden (view full) --- 462 spin_lock_bh(&br->lock); 463 br_stp_recalculate_bridge_id(br); 464 br_features_recompute(br); 465 spin_unlock_bh(&br->lock); 466 467 return 0; 468} 469 |
470void br_net_exit(struct net *net) | 470void __net_exit br_net_exit(struct net *net) |
471{ 472 struct net_device *dev; 473 LIST_HEAD(list); 474 475 rtnl_lock(); 476 for_each_netdev(net, dev) 477 if (dev->priv_flags & IFF_EBRIDGE) 478 del_br(netdev_priv(dev), &list); 479 480 unregister_netdevice_many(&list); 481 rtnl_unlock(); 482 483} | 471{ 472 struct net_device *dev; 473 LIST_HEAD(list); 474 475 rtnl_lock(); 476 for_each_netdev(net, dev) 477 if (dev->priv_flags & IFF_EBRIDGE) 478 del_br(netdev_priv(dev), &list); 479 480 unregister_netdevice_many(&list); 481 rtnl_unlock(); 482 483} |