BRIDGE ENUM DEFINITION(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŒ‰ Bridge enum definition βœ¨πŸ’…

ok so bestie, quick name-drop first: this is the Bridge enum definition page from the Kernel API Manual (section 9), and it's basically the master list of every IFLA_BR_* attribute the bridge netlink API knows about. Buckle up, there's like fifty of them and they're all iconic in their own way 🫢

⚠️ please note πŸ’€ β€” the timer values down below are expected in clock_t format, which is seconds multiplied by USER_HZ (generally defined as 100). Do not come for me if your timers look weird, that's a units thing not a vibe thing.

  • IFLA_BR_FORWARD_DELAY β€” the bridge forwarding delay ✨ this is the time spent in LISTENING state (before it moves to LEARNING) and in LEARNING state (before it moves to FORWARDING). Only relevant if STP is enabled, no cap.

valid values are between (2 * USER_HZ) and (30 * USER_HZ). the default value is (15 * USER_HZ) πŸ’–

  • IFLA_BR_HELLO_TIME β€” the time between hello packets sent by the bridge, when it's a root bridge or a designated bridge. main character bridge behavior fr. Only relevant if STP is enabled.

valid values are between (1 * USER_HZ) and (10 * USER_HZ). the default value is (2 * USER_HZ) πŸ‘‘

  • IFLA_BR_MAX_AGE β€” the hello packet timeout πŸ™ˆ this is the time until another bridge in the spanning tree is assumed to be dead, after reception of its last hello message. Only relevant if STP is enabled.

valid values are between (6 * USER_HZ) and (40 * USER_HZ). the default value is (20 * USER_HZ) ⭐

  • IFLA_BR_AGEING_TIME β€” configures the bridge's FDB entries aging time πŸ’… it's the time a MAC address will be kept in the FDB after a packet has been received from that address. after this time has passed, entries are cleaned up. it also allows values outside the 802.1 standard specification for special cases:
    • 0 β€” entry never ages (all permanent)
    • 1 β€” entry disappears (no persistence)

the default value is (300 * USER_HZ) 🧚

  • IFLA_BR_STP_STATE β€” turn spanning tree protocol on (IFLA_BR_STP_STATE > 0) or off (IFLA_BR_STP_STATE == 0) for this bridge.

the default value is 0 (disabled) πŸ¦‹

  • IFLA_BR_PRIORITY β€” sets this bridge's spanning tree priority, used during STP root bridge election πŸ—³οΈ

valid values are between 0 and 65535.

  • IFLA_BR_VLAN_FILTERING β€” turn VLAN filtering on (IFLA_BR_VLAN_FILTERING > 0) or off (IFLA_BR_VLAN_FILTERING == 0). when disabled, the bridge will not consider the VLAN tag when handling packets. lowkey it's just gonna ignore that tag entirely 😌

the default value is 0 (disabled).

  • IFLA_BR_VLAN_PROTOCOL β€” sets the protocol used for VLAN filtering 🌸

valid values are 0x8100(802.1Q) or 0x88A8(802.1AD). the default value is 0x8100(802.1Q).

  • IFLA_BR_GROUP_FWD_MASK β€” the group forwarding mask πŸŽ€ this is the bitmask that is applied to decide whether to forward incoming frames destined to link-local addresses (of the form 01:80:C2:00:00:0X).

the default value is 0, which means the bridge does not forward any link-local frames coming on this port πŸ™…β€β™€οΈ

  • IFLA_BR_ROOT_ID β€” the bridge root id, read only πŸ‘€
  • IFLA_BR_BRIDGE_ID β€” the bridge id, read only πŸ‘€
  • IFLA_BR_ROOT_PORT β€” the bridge root port, read only πŸ‘€
  • IFLA_BR_ROOT_PATH_COST β€” the bridge root path cost, read only πŸ‘€
  • IFLA_BR_TOPOLOGY_CHANGE β€” the bridge topology change, read only πŸ‘€
  • IFLA_BR_TOPOLOGY_CHANGE_DETECTED β€” the bridge topology change detected, read only πŸ‘€
  • IFLA_BR_HELLO_TIMER β€” the bridge hello timer, read only πŸ‘€
  • IFLA_BR_TCN_TIMER β€” the bridge tcn timer, read only πŸ‘€
  • IFLA_BR_TOPOLOGY_CHANGE_TIMER β€” the bridge topology change timer, read only πŸ‘€
  • IFLA_BR_GC_TIMER β€” the bridge gc timer, read only πŸ‘€
  • IFLA_BR_GROUP_ADDR β€” sets the MAC address of the multicast group this bridge uses for STP πŸ’– the address must be a link-local address in standard Ethernet MAC address format. it is an address of the form 01:80:C2:00:00:0X, with X in [0, 4..f].

the default value is 0.

  • IFLA_BR_FDB_FLUSH β€” flushes bridge's fdb dynamic entries 🧹✨ (spring cleaning but for MAC addresses, we love to see it)
  • IFLA_BR_MCAST_ROUTER β€” sets bridge's multicast router if IGMP snooping is enabled. valid values are:
    • 0 β€” disabled.
    • 1 β€” automatic (queried).
    • 2 β€” permanently enabled.

the default value is 1 🌈

  • IFLA_BR_MCAST_SNOOPING β€” turn multicast snooping on (IFLA_BR_MCAST_SNOOPING > 0) or off (IFLA_BR_MCAST_SNOOPING == 0).

the default value is 1.

  • IFLA_BR_MCAST_QUERY_USE_IFADDR β€” if enabled, use the bridge's own IP address as source address for IGMP queries (IFLA_BR_MCAST_QUERY_USE_IFADDR > 0) or the default of 0.0.0.0 (IFLA_BR_MCAST_QUERY_USE_IFADDR == 0). it's giving "be your own source address" πŸ’β€β™€οΈ

the default value is 0 (disabled).

  • IFLA_BR_MCAST_QUERIER β€” enable (IFLA_BR_MULTICAST_QUERIER > 0) or disable (IFLA_BR_MULTICAST_QUERIER == 0) IGMP querier, ie sending of multicast queries by the bridge.

the default value is 0 (disabled) πŸ™ˆ

  • IFLA_BR_MCAST_HASH_ELASTICITY β€” sets multicast database hash elasticity πŸ’€ it is the maximum chain length in the multicast hash table. this attribute is deprecated and the value is always 16. (so like… it's a museum piece, don't touch it, the value is fixed fr)
  • IFLA_BR_MCAST_HASH_MAX β€” sets maximum size of the multicast hash table πŸŽ€

the default value is 4096, the value must be a power of 2. ⚑

  • IFLA_BR_MCAST_LAST_MEMBER_CNT β€” the Last Member Query Count is the number of Group-Specific Queries sent before the router assumes there are no local members 😭 the Last Member Query Count is also the number of Group- and-Source-Specific Queries sent before the router assumes there are no listeners for a particular source.

the default value is 2.

  • IFLA_BR_MCAST_STARTUP_QUERY_CNT β€” the Startup Query Count is the number of Queries sent out on startup, separated by the Startup Query Interval πŸš€

the default value is 2.

  • IFLA_BR_MCAST_LAST_MEMBER_INTVL β€” the Last Member Query Interval is the Max Response Time inserted into Group-Specific Queries sent in response to Leave Group messages, and is also the amount of time between Group-Specific Query messages ⏱️

the default value is (1 * USER_HZ).

  • IFLA_BR_MCAST_MEMBERSHIP_INTVL β€” the interval after which the bridge will leave a group, if no membership reports for this group are received πŸ‘‹ (it's the "well, guess nobody wants me here" timer)

the default value is (260 * USER_HZ).

  • IFLA_BR_MCAST_QUERIER_INTVL β€” the interval between queries sent by other routers. if no queries are seen after this delay has passed, the bridge will start to send its own queries (as if IFLA_BR_MCAST_QUERIER_INTVL was enabled) πŸ‘‘

the default value is (255 * USER_HZ).

  • IFLA_BR_MCAST_QUERY_INTVL β€” the Query Interval is the interval between General Queries sent by the Querier πŸ’Œ

the default value is (125 * USER_HZ). the minimum value is (1 * USER_HZ).

  • IFLA_BR_MCAST_QUERY_RESPONSE_INTVL β€” the Max Response Time used to calculate the Max Resp Code inserted into the periodic General Queries 🌸

the default value is (10 * USER_HZ).

  • IFLA_BR_MCAST_STARTUP_QUERY_INTVL β€” the interval between queries in the startup phase 🐣

the default value is (125 * USER_HZ) / 4. the minimum value is (1 * USER_HZ).

  • IFLA_BR_NF_CALL_IPTABLES β€” enable (NF_CALL_IPTABLES > 0) or disable (NF_CALL_IPTABLES == 0) iptables hooks on the bridge πŸ”₯

the default value is 0 (disabled).

  • IFLA_BR_NF_CALL_IP6TABLES β€” enable (NF_CALL_IP6TABLES > 0) or disable (NF_CALL_IP6TABLES == 0) ip6tables hooks on the bridge πŸ”₯

the default value is 0 (disabled).

  • IFLA_BR_NF_CALL_ARPTABLES β€” enable (NF_CALL_ARPTABLES > 0) or disable (NF_CALL_ARPTABLES == 0) arptables hooks on the bridge πŸ”₯

the default value is 0 (disabled).

  • IFLA_BR_VLAN_DEFAULT_PVID β€” the VLAN ID applied to untagged and priority-tagged incoming packets πŸŽ€

the default value is 1. setting to the special value 0 makes all ports of this bridge not have a PVID by default, which means that they will not accept VLAN-untagged traffic. 🚫 (so like, no tag = no entry, sorry bestie)

  • IFLA_BR_PAD β€” bridge attribute padding type for netlink message πŸ›‹οΈ (yes it's literally the padding, everyone gets a moment)
  • IFLA_BR_VLAN_STATS_ENABLED β€” enable (IFLA_BR_VLAN_STATS_ENABLED == 1) or disable (IFLA_BR_VLAN_STATS_ENABLED == 0) per-VLAN stats accounting πŸ“Š

the default value is 0 (disabled).

  • IFLA_BR_MCAST_STATS_ENABLED β€” enable (IFLA_BR_MCAST_STATS_ENABLED > 0) or disable (IFLA_BR_MCAST_STATS_ENABLED == 0) multicast (IGMP/MLD) stats accounting πŸ“ˆ

the default value is 0 (disabled).

  • IFLA_BR_MCAST_IGMP_VERSION β€” sets the IGMP version 🌐

the valid values are 2 and 3. the default value is 2.

  • IFLA_BR_MCAST_MLD_VERSION β€” sets the MLD version 🌐

the valid values are 1 and 2. the default value is 1.

  • IFLA_BR_VLAN_STATS_PER_PORT β€” enable (IFLA_BR_VLAN_STATS_PER_PORT == 1) or disable (IFLA_BR_VLAN_STATS_PER_PORT == 0) per-VLAN per-port stats accounting πŸ“ŠπŸ“Š can be changed only when there are no port VLANs configured. ⚠️ (so lock that in first, then flip this switch, iykyk)

the default value is 0 (disabled).

  • IFLA_BR_MULTI_BOOLOPT β€” the multi_boolopt is used to control new boolean options to avoid adding new netlink attributes πŸŽ›οΈ you can look at enum br_boolopt_id for those options.
  • IFLA_BR_MCAST_QUERIER_STATE β€” bridge mcast querier states, read only πŸ‘€
  • IFLA_BR_FDB_N_LEARNED β€” the number of dynamically learned FDB entries for the current bridge, read only πŸ‘€
  • IFLA_BR_FDB_MAX_LEARNED β€” set the number of max dynamically learned FDB entries for the current bridge 🎯

πŸ’– SEE ALSO πŸ¦‹

  • Kernel file ./tools/include/uapi/linux/if_link.h struct rtnl_link_stats64(9) πŸ“„
  • Bridge mode enum definition(9) πŸŒ‰
  • Bridge port enum definition(9) πŸ”Œ

ok that's the whole page bestie, you ate that πŸ«ΆπŸ’…βœ¨ β€” this little icon was brought to you by source ./tools/include/uapi/linux, dated October 2026, and the page is Bridge enum definition(9). mwah πŸ’‹πŸŽ€

πŸ“¦ where this page comes from