Deleting a Bridge
Before a
bridge device can be removed, it must be shut down. If it hasn't been shut down, br_del_bridge returns -EBUSY and refuses to remove the device. To remove it, br_del_bridge invokes del_br, which does
most of the work, as follows:
Removes all its bridge ports. For each bridge port, it also removes the associated links (which appear as directories) in /sys. See the section "Deleting a Bridge Port."
For each port, removes all the associated entries in the forwarding database with
br_fdb_delete_by_port, stops all the port's timers, and decrements the promiscuity counter. (The promiscuity counter is described in the upcoming section, "Adding Ports to a Bridge.")Stops the garbage collection timer
br->gc_timer.Removes the bridge device directory in the /sys/class/net directory with
br_sysfs_delbr.Unregisters the device with
unregister_netdevice. This function is described in Chapter 8.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access