Important Data Structures
The following list explains the main data structures defined and used by the bridging code. All of them have dedicated sections with field-by-field descriptions in Chapter 17.
-
mac_addr MAC address.
-
bridge_id Bridge ID (defined in Chapter 15).
-
net_bridge_fdb_entry Entry of the forwarding database. There is one for each MAC address learned by the bridge.
-
net_bridge_port Bridge port.
-
net_bridge Information applying to a single bridge. As shown in Figure 16-6, this structure is appended to a
net_devicedata structure. As with most virtual devices, it includes private information understood only by the virtual device code—bridging, in this case.-
br_config_bpdu The key fields of an ingress configuration BPDU are copied into this data structure, and it is passed instead of the original BPDU to the routine that processes configuration BPDUs.
All data structures are defined in net/bridge/br_private.h, with the exception of br_config_bpdu, which is defined in net/bridge/br_private_stp.h. Figure 16-6 shows the relationships between some of these data structures. The
figure does not reflect any of the examples of configurations seen in the previous
section.
The age_list list is not used anymore; I included
it in the figure only for reference. See the section "net_bridge Structure" in Chapter 17.
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