Tuning via /sys Filesystem
As I said in the section "User-Space Configuration Tools," brctl can configure bridge and STP parameters via the sysfs interface. Before seeing how the kernel processes commands from brctl, let's see how the information in /sys is organized.
The kernel creates a directory in /sys/class/net for each registered network device. This directory is used to export both read-only and read-write parameters that apply to network devices in general. Bridge devices, which are assigned a directory as any other network device, include two special subdirectories in their directory: bridge and brif. The first exports bridge parameters, and the second includes a soft (symbolic) link to the directory of each enslaved device—that is, each bridge port. Figure 17-2 shows an example of a system with two Ethernet devices, eth0 and eth1, where the admin has created one bridge device, br0, and enslaved both eth0 and eth1 to br0.
The br0 directory includes another bridge-specific file: brforward. This is used to export the bridge forwarding database (in binary format). You can dump it with the brctl showmacs command.
The files in the bridge directories are fields of
the net_bridge data structure, and the files in the
brport directories are fields of the net_bridge_port data structure.[*]
The bridge device directory (br0 in the previous
example) is populated with bridge parameters and directories by br_sysfs_addbr when the bridge device is created (see the section "Creating a New Bridge ...
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