sphinx.addnodesdocument)}( rawsource children](translations
LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba
attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget%/translations/zh_CN/networking/bridgemodnameN classnameNrefexplicitutagnamehhhubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/zh_TW/networking/bridgemodnameN classnameNrefexplicituh1hhhubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/it_IT/networking/bridgemodnameN classnameNrefexplicituh1hhhubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/ja_JP/networking/bridgemodnameN classnameNrefexplicituh1hhhubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/ko_KR/networking/bridgemodnameN classnameNrefexplicituh1hhhubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/sp_SP/networking/bridgemodnameN classnameNrefexplicituh1hhhubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h
hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhh?/var/lib/git/docbuild/linux/Documentation/networking/bridge.rsthKubhsection)}(hhh](htitle)}(hEthernet Bridgingh]hEthernet Bridging}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hIntroductionh]hIntroduction}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hX The IEEE 802.1Q-2022 (Bridges and Bridged Networks) standard defines the
operation of bridges in computer networks. A bridge, in the context of this
standard, is a device that connects two or more network segments and operates
at the data link layer (Layer 2) of the OSI (Open Systems Interconnection)
model. The purpose of a bridge is to filter and forward frames between
different segments based on the destination MAC (Media Access Control) address.h]hX The IEEE 802.1Q-2022 (Bridges and Bridged Networks) standard defines the
operation of bridges in computer networks. A bridge, in the context of this
standard, is a device that connects two or more network segments and operates
at the data link layer (Layer 2) of the OSI (Open Systems Interconnection)
model. The purpose of a bridge is to filter and forward frames between
different segments based on the destination MAC (Media Access Control) address.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK
hhhhubeh}(h]introductionah ]h"]introductionah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hBridge kAPIh]hBridge kAPI}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hoHere are some core structures of bridge code. Note that the kAPI is *unstable*,
and can be changed at any time.h](hDHere are some core structures of bridge code. Note that the kAPI is }(hj hhhNhNubhemphasis)}(h
*unstable*h]hunstable}(hj
hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh!,
and can be changed at any time.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh index)}(hhh]h}(h]h ]h"]h$]h&]entries](singlenet_bridge_vlan (C struct)c.net_bridge_vlanhNtauh1j% hhhhhY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhNubh desc)}(hhh](h desc_signature)}(hnet_bridge_vlanh]h desc_signature_line)}(hstruct net_bridge_vlanh](h desc_sig_keyword)}(hstructh]hstruct}(hjJ hhhNhNubah}(h]h ]kah"]h$]h&]uh1jH hjD hhhY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKubh desc_sig_space)}(h h]h }(hj\ hhhNhNubah}(h]h ]wah"]h$]h&]uh1jZ hjD hhhjY hKubh desc_name)}(hnet_bridge_vlanh]h
desc_sig_name)}(hj@ h]hnet_bridge_vlan}(hjs hhhNhNubah}(h]h ]nah"]h$]h&]uh1jq hjm ubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1jk hjD hhhjY hKubeh}(h]h ]h"]h$]h&]hh
add_permalinkuh1jB sphinx_line_type
declaratorhj> hhhjY hKubah}(h]j4 ah ](sig
sig-objecteh"]h$]h&]is_multiline
_toc_parts) _toc_namehuh1j< hjY hKhj9 hhubh desc_content)}(hhh]h)}(hper-vlan entryh]hper-vlan entry}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhj hhubah}(h]h ]h"]h$]h&]uh1j hj9 hhhjY hKubeh}(h]h ](cstructeh"]h$]h&]domainj objtypej desctypej noindexnoindexentrynocontentsentryuh1j7 hhhhhj6 hNubh container)}(hX **Definition**::
struct net_bridge_vlan {
struct rhash_head vnode;
struct rhash_head tnode;
u16 vid;
u16 flags;
u16 priv_flags;
u8 state;
struct pcpu_sw_netstats __percpu *stats;
union {
struct net_bridge *br;
struct net_bridge_port *port;
};
union {
refcount_t refcnt;
struct net_bridge_vlan *brvlan;
};
struct br_tunnel_info tinfo;
union {
struct net_bridge_mcast br_mcast_ctx;
struct net_bridge_mcast_port port_mcast_ctx;
};
u16 msti;
struct list_head vlist;
struct rcu_head rcu;
};
**Members**
``vnode``
rhashtable member
``tnode``
rhashtable member
``vid``
VLAN id
``flags``
bridge vlan flags
``priv_flags``
private (in-kernel) bridge vlan flags
``state``
STP state (e.g. blocking, learning, forwarding)
``stats``
per-cpu VLAN statistics
``{unnamed_union}``
anonymous
``br``
if MASTER flag set, this points to a bridge struct
``port``
if MASTER flag unset, this points to a port struct
``{unnamed_union}``
anonymous
``refcnt``
if MASTER flag set, this is bumped for each port referencing it
``brvlan``
if MASTER flag unset, this points to the global per-VLAN context
for this VLAN entry
``tinfo``
bridge tunnel info
``{unnamed_union}``
anonymous
``br_mcast_ctx``
if MASTER flag set, this is the global vlan multicast context
``port_mcast_ctx``
if MASTER flag unset, this is the per-port/vlan multicast
context
``msti``
if MASTER flag set, this holds the VLANs MST instance
``vlist``
sorted list of VLAN entries
``rcu``
used for entry destructionh](h)}(h**Definition**::h](hstrong)}(h**Definition**h]h
Definition}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh:}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhj ubh
literal_block)}(hX struct net_bridge_vlan {
struct rhash_head vnode;
struct rhash_head tnode;
u16 vid;
u16 flags;
u16 priv_flags;
u8 state;
struct pcpu_sw_netstats __percpu *stats;
union {
struct net_bridge *br;
struct net_bridge_port *port;
};
union {
refcount_t refcnt;
struct net_bridge_vlan *brvlan;
};
struct br_tunnel_info tinfo;
union {
struct net_bridge_mcast br_mcast_ctx;
struct net_bridge_mcast_port port_mcast_ctx;
};
u16 msti;
struct list_head vlist;
struct rcu_head rcu;
};h]hX struct net_bridge_vlan {
struct rhash_head vnode;
struct rhash_head tnode;
u16 vid;
u16 flags;
u16 priv_flags;
u8 state;
struct pcpu_sw_netstats __percpu *stats;
union {
struct net_bridge *br;
struct net_bridge_port *port;
};
union {
refcount_t refcnt;
struct net_bridge_vlan *brvlan;
};
struct br_tunnel_info tinfo;
union {
struct net_bridge_mcast br_mcast_ctx;
struct net_bridge_mcast_port port_mcast_ctx;
};
u16 msti;
struct list_head vlist;
struct rcu_head rcu;
};}hj sbah}(h]h ]h"]h$]h&]hhuh1j hY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhj ubh)}(h**Members**h]j )}(hj h]hMembers}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhj ubhdefinition_list)}(hhh](hdefinition_list_item)}(h``vnode``
rhashtable member
h](hterm)}(h ``vnode``h]hliteral)}(hj" h]hvnode}(hj& hhhNhNubah}(h]h ]h"]h$]h&]uh1j$ hj ubah}(h]h ]h"]h$]h&]uh1j hY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhj ubh
definition)}(hhh]h)}(hrhashtable memberh]hrhashtable member}(hj? hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9 hKhj< ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj9 hKhj ubj )}(h``tnode``
rhashtable member
h](j )}(h ``tnode``h]j% )}(hj_ h]htnode}(hja hhhNhNubah}(h]h ]h"]h$]h&]uh1j$ hj] ubah}(h]h ]h"]h$]h&]uh1j hY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhjY ubj; )}(hhh]h)}(hrhashtable memberh]hrhashtable member}(hjx hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjt hKhju ubah}(h]h ]h"]h$]h&]uh1j: hjY ubeh}(h]h ]h"]h$]h&]uh1j hjt hKhj ubj )}(h``vid``
VLAN id
h](j )}(h``vid``h]j% )}(hj h]hvid}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j$ hj ubah}(h]h ]h"]h$]h&]uh1j hY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhj ubj; )}(hhh]h)}(hVLAN idh]hVLAN id}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hKhj ubj )}(h``flags``
bridge vlan flags
h](j )}(h ``flags``h]j% )}(hj h]hflags}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j$ hj ubah}(h]h ]h"]h$]h&]uh1j hY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhj ubj; )}(hhh]h)}(hbridge vlan flagsh]hbridge vlan flags}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hKhj ubj )}(h5``priv_flags``
private (in-kernel) bridge vlan flags
h](j )}(h``priv_flags``h]j% )}(hj
h]h
priv_flags}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j$ hj ubah}(h]h ]h"]h$]h&]uh1j hY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhj ubj; )}(hhh]h)}(h%private (in-kernel) bridge vlan flagsh]h%private (in-kernel) bridge vlan flags}(hj# hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hKhj ubj )}(h:``state``
STP state (e.g. blocking, learning, forwarding)
h](j )}(h ``state``h]j% )}(hjC h]hstate}(hjE hhhNhNubah}(h]h ]h"]h$]h&]uh1j$ hjA ubah}(h]h ]h"]h$]h&]uh1j hY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhj= ubj; )}(hhh]h)}(h/STP state (e.g. blocking, learning, forwarding)h]h/STP state (e.g. blocking, learning, forwarding)}(hj\ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjX hKhjY ubah}(h]h ]h"]h$]h&]uh1j: hj= ubeh}(h]h ]h"]h$]h&]uh1j hjX hKhj ubj )}(h"``stats``
per-cpu VLAN statistics
h](j )}(h ``stats``h]j% )}(hj| h]hstats}(hj~ hhhNhNubah}(h]h ]h"]h$]h&]uh1j$ hjz ubah}(h]h ]h"]h$]h&]uh1j hY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhjv ubj; )}(hhh]h)}(hper-cpu VLAN statisticsh]hper-cpu VLAN statistics}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1j: hjv ubeh}(h]h ]h"]h$]h&]uh1j hj hKhj ubj )}(h``{unnamed_union}``
anonymous
h](j )}(h``{unnamed_union}``h]j% )}(hj h]h{unnamed_union}}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j$ hj ubah}(h]h ]h"]h$]h&]uh1j hY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhj ubj; )}(hhh]h)}(h anonymoush]h anonymous}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hKhj ubj )}(h:``br``
if MASTER flag set, this points to a bridge struct
h](j )}(h``br``h]j% )}(hj h]hbr}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j$ hj ubah}(h]h ]h"]h$]h&]uh1j hY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhj ubj; )}(hhh]h)}(h2if MASTER flag set, this points to a bridge structh]h2if MASTER flag set, this points to a bridge struct}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hKhj ubj )}(h<``port``
if MASTER flag unset, this points to a port struct
h](j )}(h``port``h]j% )}(hj' h]hport}(hj) hhhNhNubah}(h]h ]h"]h$]h&]uh1j$ hj% ubah}(h]h ]h"]h$]h&]uh1j hY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhj! ubj; )}(hhh]h)}(h2if MASTER flag unset, this points to a port structh]h2if MASTER flag unset, this points to a port struct}(hj@ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj< hKhj= ubah}(h]h ]h"]h$]h&]uh1j: hj! ubeh}(h]h ]h"]h$]h&]uh1j hj< hKhj ubj )}(h``{unnamed_union}``
anonymous
h](j )}(h``{unnamed_union}``h]j% )}(hj` h]h{unnamed_union}}(hjb hhhNhNubah}(h]h ]h"]h$]h&]uh1j$ hj^ ubah}(h]h ]h"]h$]h&]uh1j hY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhjZ ubj; )}(hhh]h)}(h anonymoush]h anonymous}(hjy hhhNhNubah}(h]h ]h"]h$]h&]uh1hhju hKhjv ubah}(h]h ]h"]h$]h&]uh1j: hjZ ubeh}(h]h ]h"]h$]h&]uh1j hju hKhj ubj )}(hK``refcnt``
if MASTER flag set, this is bumped for each port referencing it
h](j )}(h
``refcnt``h]j% )}(hj h]hrefcnt}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j$ hj ubah}(h]h ]h"]h$]h&]uh1j hY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhj ubj; )}(hhh]h)}(h?if MASTER flag set, this is bumped for each port referencing ith]h?if MASTER flag set, this is bumped for each port referencing it}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hKhj ubj )}(h```brvlan``
if MASTER flag unset, this points to the global per-VLAN context
for this VLAN entry
h](j )}(h
``brvlan``h]j% )}(hj h]hbrvlan}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j$ hj ubah}(h]h ]h"]h$]h&]uh1j hY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhj ubj; )}(hhh]h)}(hTif MASTER flag unset, this points to the global per-VLAN context
for this VLAN entryh]hTif MASTER flag unset, this points to the global per-VLAN context
for this VLAN entry}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hKhj ubj )}(h``tinfo``
bridge tunnel info
h](j )}(h ``tinfo``h]j% )}(hj h]htinfo}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j$ hj
ubah}(h]h ]h"]h$]h&]uh1j hY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhj ubj; )}(hhh]h)}(hbridge tunnel infoh]hbridge tunnel info}(hj% hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj! hKhj" ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj! hKhj ubj )}(h``{unnamed_union}``
anonymous
h](j )}(h``{unnamed_union}``h]j% )}(hjE h]h{unnamed_union}}(hjG hhhNhNubah}(h]h ]h"]h$]h&]uh1j$ hjC ubah}(h]h ]h"]h$]h&]uh1j hY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhj? ubj; )}(hhh]h)}(h anonymoush]h anonymous}(hj^ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZ hKhj[ ubah}(h]h ]h"]h$]h&]uh1j: hj? ubeh}(h]h ]h"]h$]h&]uh1j hjZ hKhj ubj )}(hO``br_mcast_ctx``
if MASTER flag set, this is the global vlan multicast context
h](j )}(h``br_mcast_ctx``h]j% )}(hj~ h]hbr_mcast_ctx}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j$ hj| ubah}(h]h ]h"]h$]h&]uh1j hY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhjx ubj; )}(hhh]h)}(h=if MASTER flag set, this is the global vlan multicast contexth]h=if MASTER flag set, this is the global vlan multicast context}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1j: hjx ubeh}(h]h ]h"]h$]h&]uh1j hj hKhj ubj )}(hU``port_mcast_ctx``
if MASTER flag unset, this is the per-port/vlan multicast
context
h](j )}(h``port_mcast_ctx``h]j% )}(hj h]hport_mcast_ctx}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j$ hj ubah}(h]h ]h"]h$]h&]uh1j hY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhj ubj; )}(hhh]h)}(hAif MASTER flag unset, this is the per-port/vlan multicast
contexth]hAif MASTER flag unset, this is the per-port/vlan multicast
context}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hKhj ubj )}(h?``msti``
if MASTER flag set, this holds the VLANs MST instance
h](j )}(h``msti``h]j% )}(hj h]hmsti}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j$ hj ubah}(h]h ]h"]h$]h&]uh1j hY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhj ubj; )}(hhh]h)}(h5if MASTER flag set, this holds the VLANs MST instanceh]h5if MASTER flag set, this holds the VLANs MST instance}(hj
hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hKhj ubj )}(h&``vlist``
sorted list of VLAN entries
h](j )}(h ``vlist``h]j% )}(hj* h]hvlist}(hj, hhhNhNubah}(h]h ]h"]h$]h&]uh1j$ hj( ubah}(h]h ]h"]h$]h&]uh1j hY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhj$ ubj; )}(hhh]h)}(hsorted list of VLAN entriesh]hsorted list of VLAN entries}(hjC hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj? hKhj@ ubah}(h]h ]h"]h$]h&]uh1j: hj$ ubeh}(h]h ]h"]h$]h&]uh1j hj? hKhj ubj )}(h"``rcu``
used for entry destructionh](j )}(h``rcu``h]j% )}(hjc h]hrcu}(hje hhhNhNubah}(h]h ]h"]h$]h&]uh1j$ hja ubah}(h]h ]h"]h$]h&]uh1j hY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhj] ubj; )}(hhh]h)}(hused for entry destructionh]hused for entry destruction}(hj| hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhjy ubah}(h]h ]h"]h$]h&]uh1j: hj] ubeh}(h]h ]h"]h$]h&]uh1j hjx hKhj ubeh}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]kernelindentah"]h$]h&]uh1j hhhhhj6 hNubh)}(h**Description**h]j )}(hj h]hDescription}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhhhhubh)}(hThis structure is shared between the global per-VLAN entries contained in
the bridge rhashtable and the local per-port per-VLAN entries contained in
the port's rhashtable. The union entries should be interpreted depending on
the entry flags that are set.h]hX This structure is shared between the global per-VLAN entries contained in
the bridge rhashtable and the local per-port per-VLAN entries contained in
the port’s rhashtable. The union entries should be interpreted depending on
the entry flags that are set.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/networking/bridge:23: ./net/bridge/br_private.hhKhhhhubeh}(h]bridge-kapiah ]h"]bridge kapiah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hBridge uAPIh]hBridge uAPI}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhKubh)}(hModern Linux bridge uAPI is accessed via Netlink interface. You can find
below files where the bridge and bridge port netlink attributes are defined.h]hModern Linux bridge uAPI is accessed via Netlink interface. You can find
below files where the bridge and bridge port netlink attributes are defined.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj hhubh)}(hhh](h)}(hBridge netlink attributesh]hBridge netlink attributes}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhK!ubh)}(hPlease *note* that the timer values in the following section are expected
in clock_t format, which is seconds multiplied by USER_HZ (generally
defined as 100).h](hPlease }(hj hhhNhNubj )}(h*note*h]hnote}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh that the timer values in the following section are expected
in clock_t format, which is seconds multiplied by USER_HZ (generally
defined as 100).}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj hhubj )}(hhh](j )}(hX2 **IFLA_BR_FORWARD_DELAY**
The bridge forwarding delay is the time spent in LISTENING state
(before moving to LEARNING) and in LEARNING state (before moving
to FORWARDING). Only relevant if STP is enabled.
The valid values are between (2 * USER_HZ) and (30 * USER_HZ).
The default value is (15 * USER_HZ).
h](j )}(h**IFLA_BR_FORWARD_DELAY**h]j )}(hj- h]hIFLA_BR_FORWARD_DELAY}(hj/ hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj+ ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj' ubj; )}(hhh](h)}(hThe bridge forwarding delay is the time spent in LISTENING state
(before moving to LEARNING) and in LEARNING state (before moving
to FORWARDING). Only relevant if STP is enabled.h]hThe bridge forwarding delay is the time spent in LISTENING state
(before moving to LEARNING) and in LEARNING state (before moving
to FORWARDING). Only relevant if STP is enabled.}(hjF hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhjC ubh)}(hcThe valid values are between (2 * USER_HZ) and (30 * USER_HZ).
The default value is (15 * USER_HZ).h]hcThe valid values are between (2 * USER_HZ) and (30 * USER_HZ).
The default value is (15 * USER_HZ).}(hjU hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhjC ubeh}(h]h ]h"]h$]h&]uh1j: hj' ubeh}(h]h ]h"]h$]h&]uh1j hjB hMhj$ ubj )}(hX **IFLA_BR_HELLO_TIME**
The time between hello packets sent by the bridge, when it is a root
bridge or a designated bridge. Only relevant if STP is enabled.
The valid values are between (1 * USER_HZ) and (10 * USER_HZ).
The default value is (2 * USER_HZ).
h](j )}(h**IFLA_BR_HELLO_TIME**h]j )}(hjv h]hIFLA_BR_HELLO_TIME}(hjx hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjt ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhjp ubj; )}(hhh](h)}(hThe time between hello packets sent by the bridge, when it is a root
bridge or a designated bridge. Only relevant if STP is enabled.h]hThe time between hello packets sent by the bridge, when it is a root
bridge or a designated bridge. Only relevant if STP is enabled.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubh)}(hbThe valid values are between (1 * USER_HZ) and (10 * USER_HZ).
The default value is (2 * USER_HZ).h]hbThe valid values are between (1 * USER_HZ) and (10 * USER_HZ).
The default value is (2 * USER_HZ).}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubeh}(h]h ]h"]h$]h&]uh1j: hjp ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj$ ubj )}(hX+ **IFLA_BR_MAX_AGE**
The hello packet timeout 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.
The valid values are between (6 * USER_HZ) and (40 * USER_HZ).
The default value is (20 * USER_HZ).
h](j )}(h**IFLA_BR_MAX_AGE**h]j )}(hj h]hIFLA_BR_MAX_AGE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh](h)}(hThe hello packet timeout 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.h]hThe hello packet timeout 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.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubh)}(hcThe valid values are between (6 * USER_HZ) and (40 * USER_HZ).
The default value is (20 * USER_HZ).h]hcThe valid values are between (6 * USER_HZ) and (40 * USER_HZ).
The default value is (20 * USER_HZ).}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj$ ubj )}(hX **IFLA_BR_AGEING_TIME**
Configure the bridge's FDB entries aging time. It is 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.
Allow 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).
h](j )}(h**IFLA_BR_AGEING_TIME**h]j )}(hj h]hIFLA_BR_AGEING_TIME}(hj
hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh](h)}(hX Configure the bridge's FDB entries aging time. It is 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.
Allow values outside the 802.1 standard specification for special cases:h]hX Configure the bridge’s FDB entries aging time. It is 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.
Allow values outside the 802.1 standard specification for special cases:}(hj! hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubhblock_quote)}(hO* 0 - entry never ages (all permanent)
* 1 - entry disappears (no persistence)
h]hbullet_list)}(hhh](h list_item)}(h$0 - entry never ages (all permanent)h]h)}(hj? h]h$0 - entry never ages (all permanent)}(hjA hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj= ubah}(h]h ]h"]h$]h&]uh1j; hj8 ubj< )}(h&1 - entry disappears (no persistence)
h]h)}(h%1 - entry disappears (no persistence)h]h%1 - entry disappears (no persistence)}(hjY hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhjU ubah}(h]h ]h"]h$]h&]uh1j; hj8 ubeh}(h]h ]h"]h$]h&]bullet*uh1j6 hjN hMhj2 ubah}(h]h ]h"]h$]h&]uh1j0 hjN hMhj ubh)}(h%The default value is (300 * USER_HZ).h]h%The default value is (300 * USER_HZ).}(hj| hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj$ ubj )}(h**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).
h](j )}(h**IFLA_BR_STP_STATE**h]j )}(hj h]hIFLA_BR_STP_STATE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh](h)}(hkTurn spanning tree protocol on (*IFLA_BR_STP_STATE* > 0) or off
(*IFLA_BR_STP_STATE* == 0) for this bridge.h](h Turn spanning tree protocol on (}(hj hhhNhNubj )}(h*IFLA_BR_STP_STATE*h]hIFLA_BR_STP_STATE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh > 0) or off
(}(hj hhhNhNubj )}(h*IFLA_BR_STP_STATE*h]hIFLA_BR_STP_STATE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh == 0) for this bridge.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubh)}(h"The default value is 0 (disabled).h]h"The default value is 0 (disabled).}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj$ ubj )}(h**IFLA_BR_PRIORITY**
Set this bridge's spanning tree priority, used during STP root bridge
election.
The valid values are between 0 and 65535.
h](j )}(h**IFLA_BR_PRIORITY**h]j )}(hj h]hIFLA_BR_PRIORITY}(hj
hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh](h)}(hOSet this bridge's spanning tree priority, used during STP root bridge
election.h]hQSet this bridge’s spanning tree priority, used during STP root bridge
election.}(hj! hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhM hj ubh)}(h)The valid values are between 0 and 65535.h]h)The valid values are between 0 and 65535.}(hj0 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj$ ubj )}(h**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.
The default value is 0 (disabled).
h](j )}(h**IFLA_BR_VLAN_FILTERING**h]j )}(hjP h]hIFLA_BR_VLAN_FILTERING}(hjR hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjN ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhM
hjJ ubj; )}(hhh](h)}(hTurn 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.h](hTurn VLAN filtering on (}(hji hhhNhNubj )}(h*IFLA_BR_VLAN_FILTERING*h]hIFLA_BR_VLAN_FILTERING}(hjq hhhNhNubah}(h]h ]h"]h$]h&]uh1j hji ubh > 0) or off
(}(hji hhhNhNubj )}(h*IFLA_BR_VLAN_FILTERING*h]hIFLA_BR_VLAN_FILTERING}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hji ubhW == 0). When disabled, the bridge will not
consider the VLAN tag when handling packets.}(hji hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhjf ubh)}(h"The default value is 0 (disabled).h]h"The default value is 0 (disabled).}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhje hM
hjf ubeh}(h]h ]h"]h$]h&]uh1j: hjJ ubeh}(h]h ]h"]h$]h&]uh1j hje hM
hj$ ubj )}(h**IFLA_BR_VLAN_PROTOCOL**
Set the protocol used for VLAN filtering.
The valid values are 0x8100(802.1Q) or 0x88A8(802.1AD). The default value
is 0x8100(802.1Q).
h](j )}(h**IFLA_BR_VLAN_PROTOCOL**h]j )}(hj h]hIFLA_BR_VLAN_PROTOCOL}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh](h)}(h)Set the protocol used for VLAN filtering.h]h)Set the protocol used for VLAN filtering.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhM
hj ubh)}(h\The valid values are 0x8100(802.1Q) or 0x88A8(802.1AD). The default value
is 0x8100(802.1Q).h]h\The valid values are 0x8100(802.1Q) or 0x88A8(802.1AD). The default value
is 0x8100(802.1Q).}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj$ ubj )}(hX5 **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.
h](j )}(h**IFLA_BR_GROUP_FWD_MASK**h]j )}(hj
h]hIFLA_BR_GROUP_FWD_MASK}(hj
hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj
ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh](h)}(hThe 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).h]hThe 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).}(hj
hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj
ubh)}(hjThe default value is 0, which means the bridge does not forward any
link-local frames coming on this port.h]hjThe default value is 0, which means the bridge does not forward any
link-local frames coming on this port.}(hj-
hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj
ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj
hMhj$ ubj )}(h3**IFLA_BR_ROOT_ID**
The bridge root id, read only.
h](j )}(h**IFLA_BR_ROOT_ID**h]j )}(hjN
h]hIFLA_BR_ROOT_ID}(hjP
hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjL
ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhjH
ubj; )}(hhh]h)}(hThe bridge root id, read only.h]hThe bridge root id, read only.}(hjg
hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjc
hMhjd
ubah}(h]h ]h"]h$]h&]uh1j: hjH
ubeh}(h]h ]h"]h$]h&]uh1j hjc
hMhj$ ubj )}(h0**IFLA_BR_BRIDGE_ID**
The bridge id, read only.
h](j )}(h**IFLA_BR_BRIDGE_ID**h]j )}(hj
h]hIFLA_BR_BRIDGE_ID}(hj
hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj
ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj
ubj; )}(hhh]h)}(hThe bridge id, read only.h]hThe bridge id, read only.}(hj
hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj
hMhj
ubah}(h]h ]h"]h$]h&]uh1j: hj
ubeh}(h]h ]h"]h$]h&]uh1j hj
hMhj$ ubj )}(h7**IFLA_BR_ROOT_PORT**
The bridge root port, read only.
h](j )}(h**IFLA_BR_ROOT_PORT**h]j )}(hj
h]hIFLA_BR_ROOT_PORT}(hj
hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj
ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhM!hj
ubj; )}(hhh]h)}(h The bridge root port, read only.h]h The bridge root port, read only.}(hj
hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj
hM!hj
ubah}(h]h ]h"]h$]h&]uh1j: hj
ubeh}(h]h ]h"]h$]h&]uh1j hj
hM!hj$ ubj )}(hA**IFLA_BR_ROOT_PATH_COST**
The bridge root path cost, read only.
h](j )}(h**IFLA_BR_ROOT_PATH_COST**h]j )}(hj
h]hIFLA_BR_ROOT_PATH_COST}(hj
hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj
ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhM$hj
ubj; )}(hhh]h)}(h%The bridge root path cost, read only.h]h%The bridge root path cost, read only.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hM$hj ubah}(h]h ]h"]h$]h&]uh1j: hj
ubeh}(h]h ]h"]h$]h&]uh1j hj hM$hj$ ubj )}(hC**IFLA_BR_TOPOLOGY_CHANGE**
The bridge topology change, read only.
h](j )}(h**IFLA_BR_TOPOLOGY_CHANGE**h]j )}(hj2 h]hIFLA_BR_TOPOLOGY_CHANGE}(hj4 hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj0 ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhM'hj, ubj; )}(hhh]h)}(h&The bridge topology change, read only.h]h&The bridge topology change, read only.}(hjK hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjG hM'hjH ubah}(h]h ]h"]h$]h&]uh1j: hj, ubeh}(h]h ]h"]h$]h&]uh1j hjG hM'hj$ ubj )}(hU**IFLA_BR_TOPOLOGY_CHANGE_DETECTED**
The bridge topology change detected, read only.
h](j )}(h$**IFLA_BR_TOPOLOGY_CHANGE_DETECTED**h]j )}(hjk h]h IFLA_BR_TOPOLOGY_CHANGE_DETECTED}(hjm hhhNhNubah}(h]h ]h"]h$]h&]uh1j hji ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhM*hje ubj; )}(hhh]h)}(h/The bridge topology change detected, read only.h]h/The bridge topology change detected, read only.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hM*hj ubah}(h]h ]h"]h$]h&]uh1j: hje ubeh}(h]h ]h"]h$]h&]uh1j hj hM*hj$ ubj )}(h;**IFLA_BR_HELLO_TIMER**
The bridge hello timer, read only.
h](j )}(h**IFLA_BR_HELLO_TIMER**h]j )}(hj h]hIFLA_BR_HELLO_TIMER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhM-hj ubj; )}(hhh]h)}(h"The bridge hello timer, read only.h]h"The bridge hello timer, read only.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hM-hj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hM-hj$ ubj )}(h7**IFLA_BR_TCN_TIMER**
The bridge tcn timer, read only.
h](j )}(h**IFLA_BR_TCN_TIMER**h]j )}(hj h]hIFLA_BR_TCN_TIMER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhM0hj ubj; )}(hhh]h)}(h The bridge tcn timer, read only.h]h The bridge tcn timer, read only.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hM0hj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hM0hj$ ubj )}(hO**IFLA_BR_TOPOLOGY_CHANGE_TIMER**
The bridge topology change timer, read only.
h](j )}(h!**IFLA_BR_TOPOLOGY_CHANGE_TIMER**h]j )}(hj h]hIFLA_BR_TOPOLOGY_CHANGE_TIMER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhM3hj ubj; )}(hhh]h)}(h,The bridge topology change timer, read only.h]h,The bridge topology change timer, read only.}(hj/ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+ hM3hj, ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj+ hM3hj$ ubj )}(h5**IFLA_BR_GC_TIMER**
The bridge gc timer, read only.
h](j )}(h**IFLA_BR_GC_TIMER**h]j )}(hjO h]hIFLA_BR_GC_TIMER}(hjQ hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjM ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhM6hjI ubj; )}(hhh]h)}(hThe bridge gc timer, read only.h]hThe bridge gc timer, read only.}(hjh hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjd hM6hje ubah}(h]h ]h"]h$]h&]uh1j: hjI ubeh}(h]h ]h"]h$]h&]uh1j hjd hM6hj$ ubj )}(hX **IFLA_BR_GROUP_ADDR**
Set 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.
h](j )}(h**IFLA_BR_GROUP_ADDR**h]j )}(hj h]hIFLA_BR_GROUP_ADDR}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhM=hj ubj; )}(hhh](h)}(hSet 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].h]hSet 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].}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhM9hj ubh)}(hThe default value is 0.h]hThe default value is 0.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hM=hj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hM=hj$ ubj )}(h:**IFLA_BR_FDB_FLUSH**
Flush bridge's fdb dynamic entries.
h](j )}(h**IFLA_BR_FDB_FLUSH**h]j )}(hj h]hIFLA_BR_FDB_FLUSH}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhM@hj ubj; )}(hhh]h)}(h#Flush bridge's fdb dynamic entries.h]h%Flush bridge’s fdb dynamic entries.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hM@hj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hM@hj$ ubj )}(h**IFLA_BR_MCAST_ROUTER**
Set bridge's multicast router if IGMP snooping is enabled.
The valid values are:
* 0 - disabled.
* 1 - automatic (queried).
* 2 - permanently enabled.
The default value is 1.
h](j )}(h**IFLA_BR_MCAST_ROUTER**h]j )}(hj
h]hIFLA_BR_MCAST_ROUTER}(hj
hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj
ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMJhj
ubj; )}(hhh](h)}(hPSet bridge's multicast router if IGMP snooping is enabled.
The valid values are:h]hRSet bridge’s multicast router if IGMP snooping is enabled.
The valid values are:}(hj"
hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMChj
ubj1 )}(hF* 0 - disabled.
* 1 - automatic (queried).
* 2 - permanently enabled.
h]j7 )}(hhh](j< )}(h
0 - disabled.h]h)}(hj:
h]h
0 - disabled.}(hj<
hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMFhj8
ubah}(h]h ]h"]h$]h&]uh1j; hj5
ubj< )}(h1 - automatic (queried).h]h)}(hjR
h]h1 - automatic (queried).}(hjT
hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMGhjP
ubah}(h]h ]h"]h$]h&]uh1j; hj5
ubj< )}(h2 - permanently enabled.
h]h)}(h2 - permanently enabled.h]h2 - permanently enabled.}(hjl
hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMHhjh
ubah}(h]h ]h"]h$]h&]uh1j; hj5
ubeh}(h]h ]h"]h$]h&]jt ju uh1j6 hjI
hMFhj1
ubah}(h]h ]h"]h$]h&]uh1j0 hjI
hMFhj
ubh)}(hThe default value is 1.h]hThe default value is 1.}(hj
hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj
hMJhj
ubeh}(h]h ]h"]h$]h&]uh1j: hj
ubeh}(h]h ]h"]h$]h&]uh1j hj
hMJhj$ ubj )}(h**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.
h](j )}(h**IFLA_BR_MCAST_SNOOPING**h]j )}(hj
h]hIFLA_BR_MCAST_SNOOPING}(hj
hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj
ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMPhj
ubj; )}(hhh](h)}(haTurn multicast snooping on (*IFLA_BR_MCAST_SNOOPING* > 0) or off
(*IFLA_BR_MCAST_SNOOPING* == 0).h](hTurn multicast snooping on (}(hj
hhhNhNubj )}(h*IFLA_BR_MCAST_SNOOPING*h]hIFLA_BR_MCAST_SNOOPING}(hj
hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj
ubh > 0) or off
(}(hj
hhhNhNubj )}(h*IFLA_BR_MCAST_SNOOPING*h]hIFLA_BR_MCAST_SNOOPING}(hj
hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj
ubh == 0).}(hj
hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMMhj
ubh)}(hThe default value is 1.h]hThe default value is 1.}(hj
hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj
hMPhj
ubeh}(h]h ]h"]h$]h&]uh1j: hj
ubeh}(h]h ]h"]h$]h&]uh1j hj
hMPhj$ ubj )}(h**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).
The default value is 0 (disabled).
h](j )}(h"**IFLA_BR_MCAST_QUERY_USE_IFADDR**h]j )}(hj h]hIFLA_BR_MCAST_QUERY_USE_IFADDR}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMWhj ubj; )}(hhh](h)}(hIf 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).h](hQIf enabled use the bridge’s own IP address as source address for IGMP
queries (}(hj2 hhhNhNubj )}(h *IFLA_BR_MCAST_QUERY_USE_IFADDR*h]hIFLA_BR_MCAST_QUERY_USE_IFADDR}(hj: hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj2 ubh! > 0) or the default of 0.0.0.0
(}(hj2 hhhNhNubj )}(h *IFLA_BR_MCAST_QUERY_USE_IFADDR*h]hIFLA_BR_MCAST_QUERY_USE_IFADDR}(hjL hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj2 ubh == 0).}(hj2 hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMShj/ ubh)}(h"The default value is 0 (disabled).h]h"The default value is 0 (disabled).}(hje hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj. hMWhj/ ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj. hMWhj$ ubj )}(h**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).
h](j )}(h**IFLA_BR_MCAST_QUERIER**h]j )}(hj h]hIFLA_BR_MCAST_QUERIER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhM^hj ubj; )}(hhh](h)}(hEnable (*IFLA_BR_MULTICAST_QUERIER* > 0) or disable
(*IFLA_BR_MULTICAST_QUERIER* == 0) IGMP querier, ie sending of multicast
queries by the bridge.h](hEnable (}(hj hhhNhNubj )}(h*IFLA_BR_MULTICAST_QUERIER*h]hIFLA_BR_MULTICAST_QUERIER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh > 0) or disable
(}(hj hhhNhNubj )}(h*IFLA_BR_MULTICAST_QUERIER*h]hIFLA_BR_MULTICAST_QUERIER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubhC == 0) IGMP querier, ie sending of multicast
queries by the bridge.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMZhj ubh)}(h"The default value is 0 (disabled).h]h"The default value is 0 (disabled).}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hM^hj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hM^hj$ ubj )}(h**IFLA_BR_MCAST_HASH_ELASTICITY**
Set 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.
h](j )}(h!**IFLA_BR_MCAST_HASH_ELASTICITY**h]j )}(hj h]hIFLA_BR_MCAST_HASH_ELASTICITY}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMchj ubj; )}(hhh]h)}(hSet 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.h](hvSet multicast database hash elasticity, It is the maximum chain length in
the multicast hash table. This attribute is }(hj
hhhNhNubj )}(h*deprecated*h]h
deprecated}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj
ubh and the value
is always 16.}(hj
hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMahj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMchj$ ubj )}(h**IFLA_BR_MCAST_HASH_MAX**
Set maximum size of the multicast hash table
The default value is 4096, the value must be a power of 2.
h](j )}(h**IFLA_BR_MCAST_HASH_MAX**h]j )}(hj= h]hIFLA_BR_MCAST_HASH_MAX}(hj? hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj; ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhhj7 ubj; )}(hhh](h)}(h,Set maximum size of the multicast hash tableh]h,Set maximum size of the multicast hash table}(hjV hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMfhjS ubh)}(h:The default value is 4096, the value must be a power of 2.h]h:The default value is 4096, the value must be a power of 2.}(hje hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjR hMhhjS ubeh}(h]h ]h"]h$]h&]uh1j: hj7 ubeh}(h]h ]h"]h$]h&]uh1j hjR hMhhj$ ubj )}(hX] **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.
h](j )}(h!**IFLA_BR_MCAST_LAST_MEMBER_CNT**h]j )}(hj h]hIFLA_BR_MCAST_LAST_MEMBER_CNT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMqhj ubj; )}(hhh](h)}(hX! 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.h]hX! 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.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMkhj ubh)}(hThe default value is 2.h]hThe default value is 2.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMqhj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMqhj$ ubj )}(h**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.
h](j )}(h#**IFLA_BR_MCAST_STARTUP_QUERY_CNT**h]j )}(hj h]hIFLA_BR_MCAST_STARTUP_QUERY_CNT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMwhj ubj; )}(hhh](h)}(hnThe Startup Query Count is the number of Queries sent out on startup,
separated by the Startup Query Interval.h]hnThe Startup Query Count is the number of Queries sent out on startup,
separated by the Startup Query Interval.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMthj ubh)}(hThe default value is 2.h]hThe default value is 2.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMwhj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMwhj$ ubj )}(hX **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).
h](j )}(h#**IFLA_BR_MCAST_LAST_MEMBER_INTVL**h]j )}(hj h]hIFLA_BR_MCAST_LAST_MEMBER_INTVL}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhM~hj ubj; )}(hhh](h)}(hThe 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.h]hThe 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.}(hj. hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMzhj+ ubh)}(h#The default value is (1 * USER_HZ).h]h#The default value is (1 * USER_HZ).}(hj= hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj* hM~hj+ ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj* hM~hj$ ubj )}(h**IFLA_BR_MCAST_MEMBERSHIP_INTVL**
The interval after which the bridge will leave a group, if no membership
reports for this group are received.
The default value is (260 * USER_HZ).
h](j )}(h"**IFLA_BR_MCAST_MEMBERSHIP_INTVL**h]j )}(hj] h]hIFLA_BR_MCAST_MEMBERSHIP_INTVL}(hj_ hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj[ ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhjW ubj; )}(hhh](h)}(hmThe interval after which the bridge will leave a group, if no membership
reports for this group are received.h]hmThe interval after which the bridge will leave a group, if no membership
reports for this group are received.}(hjv hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhjs ubh)}(h%The default value is (260 * USER_HZ).h]h%The default value is (260 * USER_HZ).}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjr hMhjs ubeh}(h]h ]h"]h$]h&]uh1j: hjW ubeh}(h]h ]h"]h$]h&]uh1j hjr hMhj$ ubj )}(hX **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).
h](j )}(h**IFLA_BR_MCAST_QUERIER_INTVL**h]j )}(hj h]hIFLA_BR_MCAST_QUERIER_INTVL}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh](h)}(hThe 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).h](hThe 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 }(hj hhhNhNubj )}(h*IFLA_BR_MCAST_QUERIER_INTVL*h]hIFLA_BR_MCAST_QUERIER_INTVL}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh was enabled).}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubh)}(h%The default value is (255 * USER_HZ).h]h%The default value is (255 * USER_HZ).}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj ! hMhj$ ubj )}(h**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).
h](j )}(h**IFLA_BR_MCAST_QUERY_INTVL**h]j )}(hj h]hIFLA_BR_MCAST_QUERY_INTVL}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh](h)}(hOThe Query Interval is the interval between General Queries sent by
the Querier.h]hOThe Query Interval is the interval between General Queries sent by
the Querier.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubh)}(hIThe default value is (125 * USER_HZ). The minimum value is (1 * USER_HZ).h]hIThe default value is (125 * USER_HZ). The minimum value is (1 * USER_HZ).}(hj' hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj$ ubj )}(h**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).
h](j )}(h&**IFLA_BR_MCAST_QUERY_RESPONSE_INTVL**h]j )}(hjG h]h"IFLA_BR_MCAST_QUERY_RESPONSE_INTVL}(hjI hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjE ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhjA ubj; )}(hhh](h)}(heThe Max Response Time used to calculate the Max Resp Code inserted
into the periodic General Queries.h]heThe Max Response Time used to calculate the Max Resp Code inserted
into the periodic General Queries.}(hj` hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj] ubh)}(h$The default value is (10 * USER_HZ).h]h$The default value is (10 * USER_HZ).}(hjo hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\ hMhj] ubeh}(h]h ]h"]h$]h&]uh1j: hjA ubeh}(h]h ]h"]h$]h&]uh1j hj\ hMhj$ ubj )}(h**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).
h](j )}(h%**IFLA_BR_MCAST_STARTUP_QUERY_INTVL**h]j )}(hj h]h!IFLA_BR_MCAST_STARTUP_QUERY_INTVL}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh](h)}(h2The interval between queries in the startup phase.h]h2The interval between queries in the startup phase.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubh)}(hMThe default value is (125 * USER_HZ) / 4. The minimum value is (1 * USER_HZ).h]hMThe default value is (125 * USER_HZ) / 4. The minimum value is (1 * USER_HZ).}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj$ ubj )}(h**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).
h](j )}(h**IFLA_BR_NF_CALL_IPTABLES**h]j )}(hj h]hIFLA_BR_NF_CALL_IPTABLES}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh](h)}(hbEnable (*NF_CALL_IPTABLES* > 0) or disable (*NF_CALL_IPTABLES* == 0)
iptables hooks on the bridge.h](hEnable (}(hj hhhNhNubj )}(h*NF_CALL_IPTABLES*h]hNF_CALL_IPTABLES}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh > 0) or disable (}(hj hhhNhNubj )}(h*NF_CALL_IPTABLES*h]hNF_CALL_IPTABLES}(hj
hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh$ == 0)
iptables hooks on the bridge.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubh)}(h"The default value is 0 (disabled).h]h"The default value is 0 (disabled).}(hj# hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj$ ubj )}(h**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).
h](j )}(h**IFLA_BR_NF_CALL_IP6TABLES**h]j )}(hjC h]hIFLA_BR_NF_CALL_IP6TABLES}(hjE hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjA ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj= ubj; )}(hhh](h)}(heEnable (*NF_CALL_IP6TABLES* > 0) or disable (*NF_CALL_IP6TABLES* == 0)
ip6tables hooks on the bridge.h](hEnable (}(hj\ hhhNhNubj )}(h*NF_CALL_IP6TABLES*h]hNF_CALL_IP6TABLES}(hjd hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj\ ubh > 0) or disable (}(hj\ hhhNhNubj )}(h*NF_CALL_IP6TABLES*h]hNF_CALL_IP6TABLES}(hjv hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj\ ubh% == 0)
ip6tables hooks on the bridge.}(hj\ hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhjY ubh)}(h"The default value is 0 (disabled).h]h"The default value is 0 (disabled).}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjX hMhjY ubeh}(h]h ]h"]h$]h&]uh1j: hj= ubeh}(h]h ]h"]h$]h&]uh1j hjX hMhj$ ubj )}(h**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).
h](j )}(h**IFLA_BR_NF_CALL_ARPTABLES**h]j )}(hj h]hIFLA_BR_NF_CALL_ARPTABLES}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh](h)}(heEnable (*NF_CALL_ARPTABLES* > 0) or disable (*NF_CALL_ARPTABLES* == 0)
arptables hooks on the bridge.h](hEnable (}(hj hhhNhNubj )}(h*NF_CALL_ARPTABLES*h]hNF_CALL_ARPTABLES}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh > 0) or disable (}(hj hhhNhNubj )}(h*NF_CALL_ARPTABLES*h]hNF_CALL_ARPTABLES}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh% == 0)
arptables hooks on the bridge.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubh)}(h"The default value is 0 (disabled).h]h"The default value is 0 (disabled).}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj$ ubj )}(hX **IFLA_BR_VLAN_DEFAULT_PVID**
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.
h](j )}(h**IFLA_BR_VLAN_DEFAULT_PVID**h]j )}(hj h]hIFLA_BR_VLAN_DEFAULT_PVID}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh](h)}(hAVLAN ID applied to untagged and priority-tagged incoming packets.h]hAVLAN ID applied to untagged and priority-tagged incoming packets.}(hj4 hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj1 ubh)}(hThe 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.h]hThe 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.}(hjC hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj1 ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj0 hMhj$ ubj )}(hC**IFLA_BR_PAD**
Bridge attribute padding type for netlink message.
h](j )}(h**IFLA_BR_PAD**h]j )}(hjd h]hIFLA_BR_PAD}(hjf hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjb ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj^ ubj; )}(hhh]h)}(h2Bridge attribute padding type for netlink message.h]h2Bridge attribute padding type for netlink message.}(hj} hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjy hMhjz ubah}(h]h ]h"]h$]h&]uh1j: hj^ ubeh}(h]h ]h"]h$]h&]uh1j hjy hMhj$ ubj )}(h**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).
h](j )}(h**IFLA_BR_VLAN_STATS_ENABLED**h]j )}(hj h]hIFLA_BR_VLAN_STATS_ENABLED}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh](h)}(htEnable (*IFLA_BR_VLAN_STATS_ENABLED* == 1) or disable
(*IFLA_BR_VLAN_STATS_ENABLED* == 0) per-VLAN stats accounting.h](hEnable (}(hj hhhNhNubj )}(h*IFLA_BR_VLAN_STATS_ENABLED*h]hIFLA_BR_VLAN_STATS_ENABLED}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh == 1) or disable
(}(hj hhhNhNubj )}(h*IFLA_BR_VLAN_STATS_ENABLED*h]hIFLA_BR_VLAN_STATS_ENABLED}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh! == 0) per-VLAN stats accounting.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubh)}(h"The default value is 0 (disabled).h]h"The default value is 0 (disabled).}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj$ ubj )}(h**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).
h](j )}(h**IFLA_BR_MCAST_STATS_ENABLED**h]j )}(hj h]hIFLA_BR_MCAST_STATS_ENABLED}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh](h)}(hEnable (*IFLA_BR_MCAST_STATS_ENABLED* > 0) or disable
(*IFLA_BR_MCAST_STATS_ENABLED* == 0) multicast (IGMP/MLD) stats
accounting.h](hEnable (}(hj" hhhNhNubj )}(h*IFLA_BR_MCAST_STATS_ENABLED*h]hIFLA_BR_MCAST_STATS_ENABLED}(hj* hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj" ubh > 0) or disable
(}(hj" hhhNhNubj )}(h*IFLA_BR_MCAST_STATS_ENABLED*h]hIFLA_BR_MCAST_STATS_ENABLED}(hj< hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj" ubh- == 0) multicast (IGMP/MLD) stats
accounting.}(hj" hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubh)}(h"The default value is 0 (disabled).h]h"The default value is 0 (disabled).}(hjU hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj$ ubj )}(hl**IFLA_BR_MCAST_IGMP_VERSION**
Set the IGMP version.
The valid values are 2 and 3. The default value is 2.
h](j )}(h**IFLA_BR_MCAST_IGMP_VERSION**h]j )}(hju h]hIFLA_BR_MCAST_IGMP_VERSION}(hjw hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjs ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhjo ubj; )}(hhh](h)}(hSet the IGMP version.h]hSet the IGMP version.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubh)}(h5The valid values are 2 and 3. The default value is 2.h]h5The valid values are 2 and 3. The default value is 2.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubeh}(h]h ]h"]h$]h&]uh1j: hjo ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj$ ubj )}(hj**IFLA_BR_MCAST_MLD_VERSION**
Set the MLD version.
The valid values are 1 and 2. The default value is 1.
h](j )}(h**IFLA_BR_MCAST_MLD_VERSION**h]j )}(hj h]hIFLA_BR_MCAST_MLD_VERSION}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh](h)}(hSet the MLD version.h]hSet the MLD version.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubh)}(h5The valid values are 1 and 2. The default value is 1.h]h5The valid values are 1 and 2. The default value is 1.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj$ ubj )}(hX **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.
The default value is 0 (disabled).
h](j )}(h**IFLA_BR_VLAN_STATS_PER_PORT**h]j )}(hj h]hIFLA_BR_VLAN_STATS_PER_PORT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh](h)}(hEnable (*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.h](hEnable (}(hj hhhNhNubj )}(h*IFLA_BR_VLAN_STATS_PER_PORT*h]hIFLA_BR_VLAN_STATS_PER_PORT}(hj& hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh == 1) or disable
(}(hj hhhNhNubj )}(h*IFLA_BR_VLAN_STATS_PER_PORT*h]hIFLA_BR_VLAN_STATS_PER_PORT}(hj8 hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubhg == 0) per-VLAN per-port stats accounting.
Can be changed only when there are no port VLANs configured.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubh)}(h"The default value is 0 (disabled).h]h"The default value is 0 (disabled).}(hjQ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj$ ubj )}(h**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.
h](j )}(h**IFLA_BR_MULTI_BOOLOPT**h]j )}(hjq h]hIFLA_BR_MULTI_BOOLOPT}(hjs hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjo ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhjk ubj; )}(hhh]h)}(hThe 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.h](hqThe multi_boolopt is used to control new boolean options to avoid adding
new netlink attributes. You can look at }(hj hhhNhNubj% )}(h``enum br_boolopt_id``h]henum br_boolopt_id}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j$ hj ubh for those
options.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubah}(h]h ]h"]h$]h&]uh1j: hjk ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj$ ubj )}(hH**IFLA_BR_MCAST_QUERIER_STATE**
Bridge mcast querier states, read only.
h](j )}(h**IFLA_BR_MCAST_QUERIER_STATE**h]j )}(hj h]hIFLA_BR_MCAST_QUERIER_STATE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh]h)}(h'Bridge mcast querier states, read only.h]h'Bridge mcast querier states, read only.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj$ ubj )}(hk**IFLA_BR_FDB_N_LEARNED**
The number of dynamically learned FDB entries for the current bridge,
read only.
h](j )}(h**IFLA_BR_FDB_N_LEARNED**h]j )}(hj h]hIFLA_BR_FDB_N_LEARNED}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh]h)}(hPThe number of dynamically learned FDB entries for the current bridge,
read only.h]hPThe number of dynamically learned FDB entries for the current bridge,
read only.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj$ ubj )}(hj**IFLA_BR_FDB_MAX_LEARNED**
Set the number of max dynamically learned FDB entries for the current
bridge.
h](j )}(h**IFLA_BR_FDB_MAX_LEARNED**h]j )}(hj0 h]hIFLA_BR_FDB_MAX_LEARNED}(hj2 hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj. ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhj* ubj; )}(hhh]h)}(hMSet the number of max dynamically learned FDB entries for the current
bridge.h]hMSet the number of max dynamically learned FDB entries for the current
bridge.}(hjI hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:35: ./include/uapi/linux/if_link.hhMhjF ubah}(h]h ]h"]h$]h&]uh1j: hj* ubeh}(h]h ]h"]h$]h&]uh1j hjE hMhj$ ubeh}(h]h ]h"]h$]h&]uh1j hj hhhNhNubeh}(h]bridge-netlink-attributesah ]h"]bridge netlink attributesah$]h&]uh1hhj hhhhhK!ubh)}(hhh](h)}(hBridge port netlink attributesh]hBridge port netlink attributes}(hju hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjr hhhhhK'ubj )}(hhh](j )}(hX **IFLA_BRPORT_STATE**
The operation state of the port. Here are the valid values.
* 0 - port is in STP *DISABLED* state. Make this port completely
inactive for STP. This is also called BPDU filter and could be used
to disable STP on an untrusted port, like a leaf virtual device.
The traffic forwarding is also stopped on this port.
* 1 - port is in STP *LISTENING* state. Only valid if STP is enabled
on the bridge. In this state the port listens for STP BPDUs and
drops all other traffic frames.
* 2 - port is in STP *LEARNING* state. Only valid if STP is enabled on
the bridge. In this state the port will accept traffic only for the
purpose of updating MAC address tables.
* 3 - port is in STP *FORWARDING* state. Port is fully active.
* 4 - port is in STP *BLOCKING* state. Only valid if STP is enabled on
the bridge. This state is used during the STP election process.
In this state, port will only process STP BPDUs.
h](j )}(h**IFLA_BRPORT_STATE**h]j )}(hj h]hIFLA_BRPORT_STATE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMGhj ubj; )}(hhh](h)}(h;The operation state of the port. Here are the valid values.h]h;The operation state of the port. Here are the valid values.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhM8hj ubj1 )}(hX\ * 0 - port is in STP *DISABLED* state. Make this port completely
inactive for STP. This is also called BPDU filter and could be used
to disable STP on an untrusted port, like a leaf virtual device.
The traffic forwarding is also stopped on this port.
* 1 - port is in STP *LISTENING* state. Only valid if STP is enabled
on the bridge. In this state the port listens for STP BPDUs and
drops all other traffic frames.
* 2 - port is in STP *LEARNING* state. Only valid if STP is enabled on
the bridge. In this state the port will accept traffic only for the
purpose of updating MAC address tables.
* 3 - port is in STP *FORWARDING* state. Port is fully active.
* 4 - port is in STP *BLOCKING* state. Only valid if STP is enabled on
the bridge. This state is used during the STP election process.
In this state, port will only process STP BPDUs.
h]j7 )}(hhh](j< )}(h0 - port is in STP *DISABLED* state. Make this port completely
inactive for STP. This is also called BPDU filter and could be used
to disable STP on an untrusted port, like a leaf virtual device.
The traffic forwarding is also stopped on this port.h]h)}(h0 - port is in STP *DISABLED* state. Make this port completely
inactive for STP. This is also called BPDU filter and could be used
to disable STP on an untrusted port, like a leaf virtual device.
The traffic forwarding is also stopped on this port.h](h0 - port is in STP }(hj hhhNhNubj )}(h
*DISABLED*h]hDISABLED}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh state. Make this port completely
inactive for STP. This is also called BPDU filter and could be used
to disable STP on an untrusted port, like a leaf virtual device.
The traffic forwarding is also stopped on this port.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhM:hj ubah}(h]h ]h"]h$]h&]uh1j; hj ubj< )}(h1 - port is in STP *LISTENING* state. Only valid if STP is enabled
on the bridge. In this state the port listens for STP BPDUs and
drops all other traffic frames.h]h)}(h1 - port is in STP *LISTENING* state. Only valid if STP is enabled
on the bridge. In this state the port listens for STP BPDUs and
drops all other traffic frames.h](h1 - port is in STP }(hj hhhNhNubj )}(h*LISTENING*h]h LISTENING}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh state. Only valid if STP is enabled
on the bridge. In this state the port listens for STP BPDUs and
drops all other traffic frames.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhM>hj ubah}(h]h ]h"]h$]h&]uh1j; hj ubj< )}(h2 - port is in STP *LEARNING* state. Only valid if STP is enabled on
the bridge. In this state the port will accept traffic only for the
purpose of updating MAC address tables.h]h)}(h2 - port is in STP *LEARNING* state. Only valid if STP is enabled on
the bridge. In this state the port will accept traffic only for the
purpose of updating MAC address tables.h](h2 - port is in STP }(hj hhhNhNubj )}(h
*LEARNING*h]hLEARNING}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh state. Only valid if STP is enabled on
the bridge. In this state the port will accept traffic only for the
purpose of updating MAC address tables.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMAhj ubah}(h]h ]h"]h$]h&]uh1j; hj ubj< )}(h<3 - port is in STP *FORWARDING* state. Port is fully active.h]h)}(hj> h](h3 - port is in STP }(hj@ hhhNhNubj )}(h*FORWARDING*h]h
FORWARDING}(hjG hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj@ ubh state. Port is fully active.}(hj@ hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMDhj< ubah}(h]h ]h"]h$]h&]uh1j; hj ubj< )}(h4 - port is in STP *BLOCKING* state. Only valid if STP is enabled on
the bridge. This state is used during the STP election process.
In this state, port will only process STP BPDUs.
h]h)}(h4 - port is in STP *BLOCKING* state. Only valid if STP is enabled on
the bridge. This state is used during the STP election process.
In this state, port will only process STP BPDUs.h](h4 - port is in STP }(hjj hhhNhNubj )}(h
*BLOCKING*h]hBLOCKING}(hjr hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjj ubh state. Only valid if STP is enabled on
the bridge. This state is used during the STP election process.
In this state, port will only process STP BPDUs.}(hjj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMEhjf ubah}(h]h ]h"]h$]h&]uh1j; hj ubeh}(h]h ]h"]h$]h&]jt ju uh1j6 hj hM:hj ubah}(h]h ]h"]h$]h&]uh1j0 hj hM:hj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMGhj ubj )}(hX**IFLA_BRPORT_PRIORITY**
The STP port priority. The valid values are between 0 and 255.
h](j )}(h**IFLA_BRPORT_PRIORITY**h]j )}(hj h]hIFLA_BRPORT_PRIORITY}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMJhj ubj; )}(hhh]h)}(h>The STP port priority. The valid values are between 0 and 255.h]h>The STP port priority. The valid values are between 0 and 255.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMJhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMJhj ubj )}(h^**IFLA_BRPORT_COST**
The STP path cost of the port. The valid values are between 1 and 65535.
h](j )}(h**IFLA_BRPORT_COST**h]j )}(hj h]hIFLA_BRPORT_COST}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMMhj ubj; )}(hhh]h)}(hHThe STP path cost of the port. The valid values are between 1 and 65535.h]hHThe STP path cost of the port. The valid values are between 1 and 65535.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMMhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMMhj ubj )}(h[**IFLA_BRPORT_MODE**
Set the bridge port mode. See *BRIDGE_MODE_HAIRPIN* for more details.
h](j )}(h**IFLA_BRPORT_MODE**h]j )}(hj! h]hIFLA_BRPORT_MODE}(hj# hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMPhj ubj; )}(hhh]h)}(hESet the bridge port mode. See *BRIDGE_MODE_HAIRPIN* for more details.h](hSet the bridge port mode. See }(hj: hhhNhNubj )}(h*BRIDGE_MODE_HAIRPIN*h]hBRIDGE_MODE_HAIRPIN}(hjB hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj: ubh for more details.}(hj: hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj6 hMPhj7 ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj6 hMPhj ubj )}(hX **IFLA_BRPORT_GUARD**
Controls whether STP BPDUs will be processed by the bridge port. By
default, the flag is turned off to allow BPDU processing. Turning this
flag on will disable the bridge port if a STP BPDU packet is received.
If the bridge has Spanning Tree enabled, hostile devices on the network
may send BPDU on a port and cause network failure. Setting *guard on*
will detect and stop this by disabling the port. The port will be
restarted if the link is brought down, or removed and reattached.
h](j )}(h**IFLA_BRPORT_GUARD**h]j )}(hjl h]hIFLA_BRPORT_GUARD}(hjn hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMZhjf ubj; )}(hhh](h)}(hControls whether STP BPDUs will be processed by the bridge port. By
default, the flag is turned off to allow BPDU processing. Turning this
flag on will disable the bridge port if a STP BPDU packet is received.h]hControls whether STP BPDUs will be processed by the bridge port. By
default, the flag is turned off to allow BPDU processing. Turning this
flag on will disable the bridge port if a STP BPDU packet is received.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMShj ubh)}(hX If the bridge has Spanning Tree enabled, hostile devices on the network
may send BPDU on a port and cause network failure. Setting *guard on*
will detect and stop this by disabling the port. The port will be
restarted if the link is brought down, or removed and reattached.h](hIf the bridge has Spanning Tree enabled, hostile devices on the network
may send BPDU on a port and cause network failure. Setting }(hj hhhNhNubj )}(h
*guard on*h]hguard on}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh
will detect and stop this by disabling the port. The port will be
restarted if the link is brought down, or removed and reattached.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMWhj ubeh}(h]h ]h"]h$]h&]uh1j: hjf ubeh}(h]h ]h"]h$]h&]uh1j hj hMZhj ubj )}(hX **IFLA_BRPORT_PROTECT**
Controls whether a given port is allowed to become a root port or not.
Only used when STP is enabled on the bridge. By default the flag is off.
This feature is also called root port guard. If BPDU is received from a
leaf (edge) port, it should not be elected as root port. This could
be used if using STP on a bridge and the downstream bridges are not fully
trusted; this prevents a hostile guest from rerouting traffic.
h](j )}(h**IFLA_BRPORT_PROTECT**h]j )}(hj h]hIFLA_BRPORT_PROTECT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMchj ubj; )}(hhh](h)}(hControls whether a given port is allowed to become a root port or not.
Only used when STP is enabled on the bridge. By default the flag is off.h]hControls whether a given port is allowed to become a root port or not.
Only used when STP is enabled on the bridge. By default the flag is off.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhM]hj ubh)}(hX This feature is also called root port guard. If BPDU is received from a
leaf (edge) port, it should not be elected as root port. This could
be used if using STP on a bridge and the downstream bridges are not fully
trusted; this prevents a hostile guest from rerouting traffic.h]hX This feature is also called root port guard. If BPDU is received from a
leaf (edge) port, it should not be elected as root port. This could
be used if using STP on a bridge and the downstream bridges are not fully
trusted; this prevents a hostile guest from rerouting traffic.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhM`hj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMchj ubj )}(h**IFLA_BRPORT_FAST_LEAVE**
This flag allows the bridge to immediately stop multicast traffic
forwarding on a port that receives an IGMP Leave message. It is only used
when IGMP snooping is enabled on the bridge. By default the flag is off.
h](j )}(h**IFLA_BRPORT_FAST_LEAVE**h]j )}(hj h]hIFLA_BRPORT_FAST_LEAVE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhhj
ubj; )}(hhh]h)}(hThis flag allows the bridge to immediately stop multicast traffic
forwarding on a port that receives an IGMP Leave message. It is only used
when IGMP snooping is enabled on the bridge. By default the flag is off.h]hThis flag allows the bridge to immediately stop multicast traffic
forwarding on a port that receives an IGMP Leave message. It is only used
when IGMP snooping is enabled on the bridge. By default the flag is off.}(hj) hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMfhj& ubah}(h]h ]h"]h$]h&]uh1j: hj
ubeh}(h]h ]h"]h$]h&]uh1j hj% hMhhj ubj )}(hX
**IFLA_BRPORT_LEARNING**
Controls whether a given port will learn *source* MAC addresses from
received traffic or not. Also controls whether dynamic FDB entries
(which can also be added by software) will be refreshed by incoming
traffic. By default this flag is on.
h](j )}(h**IFLA_BRPORT_LEARNING**h]j )}(hjJ h]hIFLA_BRPORT_LEARNING}(hjL hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjH ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMnhjD ubj; )}(hhh]h)}(hControls whether a given port will learn *source* MAC addresses from
received traffic or not. Also controls whether dynamic FDB entries
(which can also be added by software) will be refreshed by incoming
traffic. By default this flag is on.h](h)Controls whether a given port will learn }(hjc hhhNhNubj )}(h*source*h]hsource}(hjk hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjc ubh MAC addresses from
received traffic or not. Also controls whether dynamic FDB entries
(which can also be added by software) will be refreshed by incoming
traffic. By default this flag is on.}(hjc hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMkhj` ubah}(h]h ]h"]h$]h&]uh1j: hjD ubeh}(h]h ]h"]h$]h&]uh1j hj_ hMnhj ubj )}(h**IFLA_BRPORT_UNICAST_FLOOD**
Controls whether unicast traffic for which there is no FDB entry will
be flooded towards this port. By default this flag is on.
h](j )}(h**IFLA_BRPORT_UNICAST_FLOOD**h]j )}(hj h]hIFLA_BRPORT_UNICAST_FLOOD}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMrhj ubj; )}(hhh]h)}(hControls whether unicast traffic for which there is no FDB entry will
be flooded towards this port. By default this flag is on.h]hControls whether unicast traffic for which there is no FDB entry will
be flooded towards this port. By default this flag is on.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMqhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMrhj ubj )}(h8**IFLA_BRPORT_PROXYARP**
Enable proxy ARP on this port.
h](j )}(h**IFLA_BRPORT_PROXYARP**h]j )}(hj h]hIFLA_BRPORT_PROXYARP}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMuhj ubj; )}(hhh]h)}(hEnable proxy ARP on this port.h]hEnable proxy ARP on this port.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMuhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMuhj ubj )}(hz**IFLA_BRPORT_LEARNING_SYNC**
Controls whether a given port will sync MAC addresses learned on device
port to bridge FDB.
h](j )}(h**IFLA_BRPORT_LEARNING_SYNC**h]j )}(hj h]hIFLA_BRPORT_LEARNING_SYNC}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMyhj ubj; )}(hhh]h)}(h[Controls whether a given port will sync MAC addresses learned on device
port to bridge FDB.h]h[Controls whether a given port will sync MAC addresses learned on device
port to bridge FDB.}(hj" hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMxhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMyhj ubj )}(h**IFLA_BRPORT_PROXYARP_WIFI**
Enable proxy ARP on this port which meets extended requirements by
IEEE 802.11 and Hotspot 2.0 specifications.
h](j )}(h**IFLA_BRPORT_PROXYARP_WIFI**h]j )}(hjC h]hIFLA_BRPORT_PROXYARP_WIFI}(hjE hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjA ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhM}hj= ubj; )}(hhh]h)}(hnEnable proxy ARP on this port which meets extended requirements by
IEEE 802.11 and Hotspot 2.0 specifications.h]hnEnable proxy ARP on this port which meets extended requirements by
IEEE 802.11 and Hotspot 2.0 specifications.}(hj\ hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhM|hjY ubah}(h]h ]h"]h$]h&]uh1j: hj= ubeh}(h]h ]h"]h$]h&]uh1j hjX hM}hj ubeh}(h]h ]h"]h$]h&]uh1j hjr hhhNhNubh)}(h**IFLA_BRPORT_ROOT_ID**h]j )}(hj h]hIFLA_BRPORT_ROOT_ID}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj} ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhjr hhubh)}(h**IFLA_BRPORT_BRIDGE_ID**h]j )}(hj h]hIFLA_BRPORT_BRIDGE_ID}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhjr hhubh)}(h**IFLA_BRPORT_DESIGNATED_PORT**h]j )}(hj h]hIFLA_BRPORT_DESIGNATED_PORT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhjr hhubh)}(h**IFLA_BRPORT_DESIGNATED_COST**h]j )}(hj h]hIFLA_BRPORT_DESIGNATED_COST}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhjr hhubh)}(h**IFLA_BRPORT_ID**h]j )}(hj h]hIFLA_BRPORT_ID}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhjr hhubh)}(h**IFLA_BRPORT_NO**h]j )}(hj h]hIFLA_BRPORT_NO}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhjr hhubh)}(h#**IFLA_BRPORT_TOPOLOGY_CHANGE_ACK**h]j )}(hj h]hIFLA_BRPORT_TOPOLOGY_CHANGE_ACK}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj
ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhjr hhubh)}(h**IFLA_BRPORT_CONFIG_PENDING**h]j )}(hj' h]hIFLA_BRPORT_CONFIG_PENDING}(hj) hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj% ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhjr hhubh)}(h!**IFLA_BRPORT_MESSAGE_AGE_TIMER**h]j )}(hj? h]hIFLA_BRPORT_MESSAGE_AGE_TIMER}(hjA hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj= ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhjr hhubh)}(h#**IFLA_BRPORT_FORWARD_DELAY_TIMER**h]j )}(hjW h]hIFLA_BRPORT_FORWARD_DELAY_TIMER}(hjY hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjU ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhjr hhubh)}(h**IFLA_BRPORT_HOLD_TIMER**h]j )}(hjo h]hIFLA_BRPORT_HOLD_TIMER}(hjq hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjm ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhjr hhubj )}(hhh](j )}(h?**IFLA_BRPORT_FLUSH**
Flush bridge ports' fdb dynamic entries.
h](j )}(h**IFLA_BRPORT_FLUSH**h]j )}(hj h]hIFLA_BRPORT_FLUSH}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh]h)}(h(Flush bridge ports' fdb dynamic entries.h]h*Flush bridge ports’ fdb dynamic entries.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj ubj )}(hX **IFLA_BRPORT_MULTICAST_ROUTER**
Configure the port's multicast router presence. A port with
a multicast router will receive all multicast traffic.
The valid values are:
* 0 disable multicast routers on this port
* 1 let the system detect the presence of routers (default)
* 2 permanently enable multicast traffic forwarding on this port
* 3 enable multicast routers temporarily on this port, not depending
on incoming queries.
h](j )}(h **IFLA_BRPORT_MULTICAST_ROUTER**h]j )}(hj h]hIFLA_BRPORT_MULTICAST_ROUTER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh](h)}(hConfigure the port's multicast router presence. A port with
a multicast router will receive all multicast traffic.
The valid values are:h]hConfigure the port’s multicast router presence. A port with
a multicast router will receive all multicast traffic.
The valid values are:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubj1 )}(hX * 0 disable multicast routers on this port
* 1 let the system detect the presence of routers (default)
* 2 permanently enable multicast traffic forwarding on this port
* 3 enable multicast routers temporarily on this port, not depending
on incoming queries.
h]j7 )}(hhh](j< )}(h(0 disable multicast routers on this porth]h)}(hj h]h(0 disable multicast routers on this port}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubah}(h]h ]h"]h$]h&]uh1j; hj ubj< )}(h91 let the system detect the presence of routers (default)h]h)}(hj h]h91 let the system detect the presence of routers (default)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubah}(h]h ]h"]h$]h&]uh1j; hj ubj< )}(h>2 permanently enable multicast traffic forwarding on this porth]h)}(hj( h]h>2 permanently enable multicast traffic forwarding on this port}(hj* hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj& ubah}(h]h ]h"]h$]h&]uh1j; hj ubj< )}(hZ3 enable multicast routers temporarily on this port, not depending
on incoming queries.
h]j )}(hhh]j )}(hX3 enable multicast routers temporarily on this port, not depending
on incoming queries.
h](j )}(hB3 enable multicast routers temporarily on this port, not dependingh]hB3 enable multicast routers temporarily on this port, not depending}(hjI hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj hMhjE ubj; )}(hhh]h)}(hon incoming queries.h]hon incoming queries.}(hjZ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhjW ubah}(h]h ]h"]h$]h&]uh1j: hjE ubeh}(h]h ]h"]h$]h&]uh1j hj hMhjB ubah}(h]h ]h"]h$]h&]uh1j hj> ubah}(h]h ]h"]h$]h&]uh1j; hj ubeh}(h]h ]h"]h$]h&]jt ju uh1j6 hj hMhj ubah}(h]h ]h"]h$]h&]uh1j0 hj hMhj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj ubeh}(h]h ]h"]h$]h&]uh1j hjr hhhNhNubh)}(h**IFLA_BRPORT_PAD**h]j )}(hj h]hIFLA_BRPORT_PAD}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhjr hhubj )}(hhh](j )}(h**IFLA_BRPORT_MCAST_FLOOD**
Controls whether a given port will flood multicast traffic for which
there is no MDB entry. By default this flag is on.
h](j )}(h**IFLA_BRPORT_MCAST_FLOOD**h]j )}(hj h]hIFLA_BRPORT_MCAST_FLOOD}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh]h)}(hwControls whether a given port will flood multicast traffic for which
there is no MDB entry. By default this flag is on.h]hwControls whether a given port will flood multicast traffic for which
there is no MDB entry. By default this flag is on.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj ubj )}(hX **IFLA_BRPORT_MCAST_TO_UCAST**
Controls whether a given port will replicate packets using unicast
instead of multicast. By default this flag is off.
This is done by copying the packet per host and changing the multicast
destination MAC to a unicast one accordingly.
*mcast_to_unicast* works on top of the multicast snooping feature of the
bridge. Which means unicast copies are only delivered to hosts which
are interested in unicast and signaled this via IGMP/MLD reports previously.
This feature is intended for interface types which have a more reliable
and/or efficient way to deliver unicast packets than broadcast ones
(e.g. WiFi).
However, it should only be enabled on interfaces where no IGMPv2/MLDv1
report suppression takes place. IGMP/MLD report suppression issue is
usually overcome by the network daemon (supplicant) enabling AP isolation
and by that separating all STAs.
Delivery of STA-to-STA IP multicast is made possible again by enabling
and utilizing the bridge hairpin mode, which considers the incoming port
as a potential outgoing port, too (see *BRIDGE_MODE_HAIRPIN* option).
Hairpin mode is performed after multicast snooping, therefore leading
to only deliver reports to STAs running a multicast router.
h](j )}(h**IFLA_BRPORT_MCAST_TO_UCAST**h]j )}(hj h]hIFLA_BRPORT_MCAST_TO_UCAST}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh](h)}(huControls whether a given port will replicate packets using unicast
instead of multicast. By default this flag is off.h]huControls whether a given port will replicate packets using unicast
instead of multicast. By default this flag is off.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubh)}(htThis is done by copying the packet per host and changing the multicast
destination MAC to a unicast one accordingly.h]htThis is done by copying the packet per host and changing the multicast
destination MAC to a unicast one accordingly.}(hj! hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubh)}(h*mcast_to_unicast* works on top of the multicast snooping feature of the
bridge. Which means unicast copies are only delivered to hosts which
are interested in unicast and signaled this via IGMP/MLD reports previously.h](j )}(h*mcast_to_unicast*h]hmcast_to_unicast}(hj4 hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj0 ubh works on top of the multicast snooping feature of the
bridge. Which means unicast copies are only delivered to hosts which
are interested in unicast and signaled this via IGMP/MLD reports previously.}(hj0 hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubh)}(hThis feature is intended for interface types which have a more reliable
and/or efficient way to deliver unicast packets than broadcast ones
(e.g. WiFi).h]hThis feature is intended for interface types which have a more reliable
and/or efficient way to deliver unicast packets than broadcast ones
(e.g. WiFi).}(hjM hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubh)}(hHowever, it should only be enabled on interfaces where no IGMPv2/MLDv1
report suppression takes place. IGMP/MLD report suppression issue is
usually overcome by the network daemon (supplicant) enabling AP isolation
and by that separating all STAs.h]hHowever, it should only be enabled on interfaces where no IGMPv2/MLDv1
report suppression takes place. IGMP/MLD report suppression issue is
usually overcome by the network daemon (supplicant) enabling AP isolation
and by that separating all STAs.}(hj\ hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubh)}(hXW Delivery of STA-to-STA IP multicast is made possible again by enabling
and utilizing the bridge hairpin mode, which considers the incoming port
as a potential outgoing port, too (see *BRIDGE_MODE_HAIRPIN* option).
Hairpin mode is performed after multicast snooping, therefore leading
to only deliver reports to STAs running a multicast router.h](hDelivery of STA-to-STA IP multicast is made possible again by enabling
and utilizing the bridge hairpin mode, which considers the incoming port
as a potential outgoing port, too (see }(hjk hhhNhNubj )}(h*BRIDGE_MODE_HAIRPIN*h]hBRIDGE_MODE_HAIRPIN}(hjs hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjk ubh option).
Hairpin mode is performed after multicast snooping, therefore leading
to only deliver reports to STAs running a multicast router.}(hjk hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj ubj )}(hy**IFLA_BRPORT_VLAN_TUNNEL**
Controls whether vlan to tunnel mapping is enabled on the port.
By default this flag is off.
h](j )}(h**IFLA_BRPORT_VLAN_TUNNEL**h]j )}(hj h]hIFLA_BRPORT_VLAN_TUNNEL}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh]h)}(h\Controls whether vlan to tunnel mapping is enabled on the port.
By default this flag is off.h]h\Controls whether vlan to tunnel mapping is enabled on the port.
By default this flag is off.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj ubj )}(hr**IFLA_BRPORT_BCAST_FLOOD**
Controls flooding of broadcast traffic on the given port. By default
this flag is on.
h](j )}(h**IFLA_BRPORT_BCAST_FLOOD**h]j )}(hj h]hIFLA_BRPORT_BCAST_FLOOD}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh]h)}(hUControls flooding of broadcast traffic on the given port. By default
this flag is on.h]hUControls flooding of broadcast traffic on the given port. By default
this flag is on.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj ubj )}(hX@ **IFLA_BRPORT_GROUP_FWD_MASK**
Set the group forward mask. This is a bitmask that is applied to
decide whether to forward incoming frames destined to link-local
addresses. The addresses of the form are 01:80:C2:00:00:0X (defaults
to 0, which means the bridge does not forward any link-local frames
coming on this port).
h](j )}(h**IFLA_BRPORT_GROUP_FWD_MASK**h]j )}(hj h]hIFLA_BRPORT_GROUP_FWD_MASK}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh]h)}(hX Set the group forward mask. This is a bitmask that is applied to
decide whether to forward incoming frames destined to link-local
addresses. The addresses of the form are 01:80:C2:00:00:0X (defaults
to 0, which means the bridge does not forward any link-local frames
coming on this port).h]hX Set the group forward mask. This is a bitmask that is applied to
decide whether to forward incoming frames destined to link-local
addresses. The addresses of the form are 01:80:C2:00:00:0X (defaults
to 0, which means the bridge does not forward any link-local frames
coming on this port).}(hj+ hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj( ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj' hMhj ubj )}(h**IFLA_BRPORT_NEIGH_SUPPRESS**
Controls whether neighbor discovery (arp and nd) proxy and suppression
is enabled on the port. By default this flag is off.
h](j )}(h**IFLA_BRPORT_NEIGH_SUPPRESS**h]j )}(hjL h]hIFLA_BRPORT_NEIGH_SUPPRESS}(hjN hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjJ ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhjF ubj; )}(hhh]h)}(h{Controls whether neighbor discovery (arp and nd) proxy and suppression
is enabled on the port. By default this flag is off.h]h{Controls whether neighbor discovery (arp and nd) proxy and suppression
is enabled on the port. By default this flag is off.}(hje hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhjb ubah}(h]h ]h"]h$]h&]uh1j: hjF ubeh}(h]h ]h"]h$]h&]uh1j hja hMhj ubj )}(h**IFLA_BRPORT_ISOLATED**
Controls whether a given port will be isolated, which means it will be
able to communicate with non-isolated ports only. By default this
flag is off.
h](j )}(h**IFLA_BRPORT_ISOLATED**h]j )}(hj h]hIFLA_BRPORT_ISOLATED}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh]h)}(hControls whether a given port will be isolated, which means it will be
able to communicate with non-isolated ports only. By default this
flag is off.h]hControls whether a given port will be isolated, which means it will be
able to communicate with non-isolated ports only. By default this
flag is off.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj ubj )}(h**IFLA_BRPORT_BACKUP_PORT**
Set a backup port. If the port loses carrier all traffic will be
redirected to the configured backup port. Set the value to 0 to disable
it.
h](j )}(h**IFLA_BRPORT_BACKUP_PORT**h]j )}(hj h]hIFLA_BRPORT_BACKUP_PORT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh]h)}(hSet a backup port. If the port loses carrier all traffic will be
redirected to the configured backup port. Set the value to 0 to disable
it.h]hSet a backup port. If the port loses carrier all traffic will be
redirected to the configured backup port. Set the value to 0 to disable
it.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj ubeh}(h]h ]h"]h$]h&]uh1j hjr hhhNhNubh)}(h**IFLA_BRPORT_MRP_RING_OPEN**h]j )}(hj h]hIFLA_BRPORT_MRP_RING_OPEN}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhjr hhubh)}(h**IFLA_BRPORT_MRP_IN_OPEN**h]j )}(hj h]hIFLA_BRPORT_MRP_IN_OPEN}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhjr hhubj )}(hhh](j )}(h**IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT**
The number of per-port EHT hosts limit. The default value is 512.
Setting to 0 is not allowed.
h](j )}(h%**IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT**h]j )}(hj3 h]h!IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT}(hj5 hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj1 ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj- ubj; )}(hhh]h)}(h^The number of per-port EHT hosts limit. The default value is 512.
Setting to 0 is not allowed.h]h^The number of per-port EHT hosts limit. The default value is 512.
Setting to 0 is not allowed.}(hjL hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhjI ubah}(h]h ]h"]h$]h&]uh1j: hj- ubeh}(h]h ]h"]h$]h&]uh1j hjH hMhj* ubj )}(hT**IFLA_BRPORT_MCAST_EHT_HOSTS_CNT**
The current number of tracked hosts, read only.
h](j )}(h#**IFLA_BRPORT_MCAST_EHT_HOSTS_CNT**h]j )}(hjm h]hIFLA_BRPORT_MCAST_EHT_HOSTS_CNT}(hjo hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjk ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.h hMhjg ubj; )}(hhh]h)}(h/The current number of tracked hosts, read only.h]h/The current number of tracked hosts, read only.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1j: hjg ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj* ubj )}(hX9 **IFLA_BRPORT_LOCKED**
Controls whether a port will be locked, meaning that hosts behind the
port will not be able to communicate through the port unless an FDB
entry with the unit's MAC address is in the FDB. The common use case is
that hosts are allowed access through authentication with the IEEE 802.1X
protocol or based on whitelists. By default this flag is off.
Please note that secure 802.1X deployments should always use the
*BR_BOOLOPT_NO_LL_LEARN* flag, to not permit the bridge to populate its
FDB based on link-local (EAPOL) traffic received on the port.
h](j )}(h**IFLA_BRPORT_LOCKED**h]j )}(hj h]hIFLA_BRPORT_LOCKED}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh](h)}(hXY Controls whether a port will be locked, meaning that hosts behind the
port will not be able to communicate through the port unless an FDB
entry with the unit's MAC address is in the FDB. The common use case is
that hosts are allowed access through authentication with the IEEE 802.1X
protocol or based on whitelists. By default this flag is off.h]hX[ Controls whether a port will be locked, meaning that hosts behind the
port will not be able to communicate through the port unless an FDB
entry with the unit’s MAC address is in the FDB. The common use case is
that hosts are allowed access through authentication with the IEEE 802.1X
protocol or based on whitelists. By default this flag is off.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubh)}(hPlease note that secure 802.1X deployments should always use the
*BR_BOOLOPT_NO_LL_LEARN* flag, to not permit the bridge to populate its
FDB based on link-local (EAPOL) traffic received on the port.h](hAPlease note that secure 802.1X deployments should always use the
}(hj hhhNhNubj )}(h*BR_BOOLOPT_NO_LL_LEARN*h]hBR_BOOLOPT_NO_LL_LEARN}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubhm flag, to not permit the bridge to populate its
FDB based on link-local (EAPOL) traffic received on the port.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj* ubj )}(hX5 **IFLA_BRPORT_MAB**
Controls whether a port will use MAC Authentication Bypass (MAB), a
technique through which select MAC addresses may be allowed on a locked
port, without using 802.1X authentication. Packets with an unknown source
MAC address generates a "locked" FDB entry on the incoming bridge port.
The common use case is for user space to react to these bridge FDB
notifications and optionally replace the locked FDB entry with a normal
one, allowing traffic to pass for whitelisted MAC addresses.
Setting this flag also requires *IFLA_BRPORT_LOCKED* and
*IFLA_BRPORT_LEARNING*. *IFLA_BRPORT_LOCKED* ensures that unauthorized
data packets are dropped, and *IFLA_BRPORT_LEARNING* allows the dynamic
FDB entries installed by user space (as replacements for the locked FDB
entries) to be refreshed and/or aged out.
h](j )}(h**IFLA_BRPORT_MAB**h]j )}(hj h]hIFLA_BRPORT_MAB}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh](h)}(hX Controls whether a port will use MAC Authentication Bypass (MAB), a
technique through which select MAC addresses may be allowed on a locked
port, without using 802.1X authentication. Packets with an unknown source
MAC address generates a "locked" FDB entry on the incoming bridge port.
The common use case is for user space to react to these bridge FDB
notifications and optionally replace the locked FDB entry with a normal
one, allowing traffic to pass for whitelisted MAC addresses.h]hX Controls whether a port will use MAC Authentication Bypass (MAB), a
technique through which select MAC addresses may be allowed on a locked
port, without using 802.1X authentication. Packets with an unknown source
MAC address generates a “locked” FDB entry on the incoming bridge port.
The common use case is for user space to react to these bridge FDB
notifications and optionally replace the locked FDB entry with a normal
one, allowing traffic to pass for whitelisted MAC addresses.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubh)}(hX9 Setting this flag also requires *IFLA_BRPORT_LOCKED* and
*IFLA_BRPORT_LEARNING*. *IFLA_BRPORT_LOCKED* ensures that unauthorized
data packets are dropped, and *IFLA_BRPORT_LEARNING* allows the dynamic
FDB entries installed by user space (as replacements for the locked FDB
entries) to be refreshed and/or aged out.h](h Setting this flag also requires }(hj) hhhNhNubj )}(h*IFLA_BRPORT_LOCKED*h]hIFLA_BRPORT_LOCKED}(hj1 hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj) ubh and
}(hj) hhhNhNubj )}(h*IFLA_BRPORT_LEARNING*h]hIFLA_BRPORT_LEARNING}(hjC hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj) ubh. }(hj) hhhNhNubj )}(h*IFLA_BRPORT_LOCKED*h]hIFLA_BRPORT_LOCKED}(hjU hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj) ubh9 ensures that unauthorized
data packets are dropped, and }(hj) hhhNhNubj )}(h*IFLA_BRPORT_LEARNING*h]hIFLA_BRPORT_LEARNING}(hjg hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj) ubh allows the dynamic
FDB entries installed by user space (as replacements for the locked FDB
entries) to be refreshed and/or aged out.}(hj) hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj* ubeh}(h]h ]h"]h$]h&]uh1j hjr hhhNhNubh)}(h**IFLA_BRPORT_MCAST_N_GROUPS**h]j )}(hj h]hIFLA_BRPORT_MCAST_N_GROUPS}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhjr hhubj )}(hhh](j )}(hXn **IFLA_BRPORT_MCAST_MAX_GROUPS**
Sets the maximum number of MDB entries that can be registered for a
given port. Attempts to register more MDB entries at the port than this
limit allows will be rejected, whether they are done through netlink
(e.g. the bridge tool), or IGMP or MLD membership reports. Setting a
limit of 0 disables the limit. The default value is 0.
h](j )}(h **IFLA_BRPORT_MCAST_MAX_GROUPS**h]j )}(hj h]hIFLA_BRPORT_MCAST_MAX_GROUPS}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh]h)}(hXL Sets the maximum number of MDB entries that can be registered for a
given port. Attempts to register more MDB entries at the port than this
limit allows will be rejected, whether they are done through netlink
(e.g. the bridge tool), or IGMP or MLD membership reports. Setting a
limit of 0 disables the limit. The default value is 0.h]hXL Sets the maximum number of MDB entries that can be registered for a
given port. Attempts to register more MDB entries at the port than this
limit allows will be rejected, whether they are done through netlink
(e.g. the bridge tool), or IGMP or MLD membership reports. Setting a
limit of 0 disables the limit. The default value is 0.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubah}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj hMhj ubj )}(hX
**IFLA_BRPORT_NEIGH_VLAN_SUPPRESS**
Controls whether neighbor discovery (arp and nd) proxy and suppression is
enabled for a given port. By default this flag is off.
Note that this option only takes effect when *IFLA_BRPORT_NEIGH_SUPPRESS*
is enabled for a given port.
h](j )}(h#**IFLA_BRPORT_NEIGH_VLAN_SUPPRESS**h]j )}(hj h]hIFLA_BRPORT_NEIGH_VLAN_SUPPRESS}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj ubj; )}(hhh](h)}(hControls whether neighbor discovery (arp and nd) proxy and suppression is
enabled for a given port. By default this flag is off.h]hControls whether neighbor discovery (arp and nd) proxy and suppression is
enabled for a given port. By default this flag is off.}(hj! hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj! ubh)}(hfNote that this option only takes effect when *IFLA_BRPORT_NEIGH_SUPPRESS*
is enabled for a given port.h](h-Note that this option only takes effect when }(hj! hhhNhNubj )}(h*IFLA_BRPORT_NEIGH_SUPPRESS*h]hIFLA_BRPORT_NEIGH_SUPPRESS}(hj! hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj! ubh
is enabled for a given port.}(hj! hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj! ubeh}(h]h ]h"]h$]h&]uh1j: hj ubeh}(h]h ]h"]h$]h&]uh1j hj! hMhj ubj )}(hX **IFLA_BRPORT_BACKUP_NHID**
The FDB nexthop object ID to attach to packets being redirected to a
backup port that has VLAN tunnel mapping enabled (via the
*IFLA_BRPORT_VLAN_TUNNEL* option). Setting a value of 0 (default) has
the effect of not attaching any ID.
h](j )}(h**IFLA_BRPORT_BACKUP_NHID**h]j )}(hjH! h]hIFLA_BRPORT_BACKUP_NHID}(hjJ! hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjF! ubah}(h]h ]h"]h$]h&]uh1j h^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhjB! ubj; )}(hhh]h)}(hThe FDB nexthop object ID to attach to packets being redirected to a
backup port that has VLAN tunnel mapping enabled (via the
*IFLA_BRPORT_VLAN_TUNNEL* option). Setting a value of 0 (default) has
the effect of not attaching any ID.h](hThe FDB nexthop object ID to attach to packets being redirected to a
backup port that has VLAN tunnel mapping enabled (via the
}(hja! hhhNhNubj )}(h*IFLA_BRPORT_VLAN_TUNNEL*h]hIFLA_BRPORT_VLAN_TUNNEL}(hji! hhhNhNubah}(h]h ]h"]h$]h&]uh1j hja! ubhP option). Setting a value of 0 (default) has
the effect of not attaching any ID.}(hja! hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/networking/bridge:41: ./include/uapi/linux/if_link.hhMhj^! ubah}(h]h ]h"]h$]h&]uh1j: hjB! ubeh}(h]h ]h"]h$]h&]uh1j hj]! hMhj ubeh}(h]h ]h"]h$]h&]uh1j hjr hhhNhNubeh}(h]bridge-port-netlink-attributesah ]h"]bridge port netlink attributesah$]h&]uh1hhj hhhhhK'ubh)}(hhh](h)}(hBridge sysfsh]hBridge sysfs}(hj! hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj! hhhhhK-ubh)}(hVThe sysfs interface is deprecated and should not be extended if new
options are added.h]hVThe sysfs interface is deprecated and should not be extended if new
options are added.}(hj! hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hj! hhubeh}(h]bridge-sysfsah ]h"]bridge sysfsah$]h&]uh1hhj hhhhhK-ubeh}(h]bridge-uapiah ]h"]bridge uapiah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hSTPh]hSTP}(hj! hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj! hhhhhK3ubh)}(hX# The STP (Spanning Tree Protocol) implementation in the Linux bridge driver
is a critical feature that helps prevent loops and broadcast storms in
Ethernet networks by identifying and disabling redundant links. In a Linux
bridge context, STP is crucial for network stability and availability.h]hX# The STP (Spanning Tree Protocol) implementation in the Linux bridge driver
is a critical feature that helps prevent loops and broadcast storms in
Ethernet networks by identifying and disabling redundant links. In a Linux
bridge context, STP is crucial for network stability and availability.}(hj! hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK5hj! hhubh)}(hXW STP is a Layer 2 protocol that operates at the Data Link Layer of the OSI
model. It was originally developed as IEEE 802.1D and has since evolved into
multiple versions, including Rapid Spanning Tree Protocol (RSTP) and
`Multiple Spanning Tree Protocol (MSTP)
`_.h](hSTP is a Layer 2 protocol that operates at the Data Link Layer of the OSI
model. It was originally developed as IEEE 802.1D and has since evolved into
multiple versions, including Rapid Spanning Tree Protocol (RSTP) and
}(hj! hhhNhNubh reference)}(hz`Multiple Spanning Tree Protocol (MSTP)
`_h]h&Multiple Spanning Tree Protocol (MSTP)}(hj! hhhNhNubah}(h]h ]h"]h$]h&]name&Multiple Spanning Tree Protocol (MSTP)refuriNhttps://lore.kernel.org/netdev/20220316150857.2442916-1-tobias@waldekranz.com/uh1j! hj! ubhtarget)}(hQ
h]h}(h]$multiple-spanning-tree-protocol-mstpah ]h"]&multiple spanning tree protocol (mstp)ah$]h&]refurij" uh1j"
referencedKhj! ubh.}(hj! hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK:hj! hhubh)}(hXV The 802.1D-2004 removed the original Spanning Tree Protocol, instead
incorporating the Rapid Spanning Tree Protocol (RSTP). By 2014, all the
functionality defined by IEEE 802.1D has been incorporated into either
IEEE 802.1Q (Bridges and Bridged Networks) or IEEE 802.1AC (MAC Service
Definition). 802.1D has been officially withdrawn in 2022.h]hXV The 802.1D-2004 removed the original Spanning Tree Protocol, instead
incorporating the Rapid Spanning Tree Protocol (RSTP). By 2014, all the
functionality defined by IEEE 802.1D has been incorporated into either
IEEE 802.1Q (Bridges and Bridged Networks) or IEEE 802.1AC (MAC Service
Definition). 802.1D has been officially withdrawn in 2022.}(hj " hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hj! hhubh)}(hhh](h)}(hBridge Ports and STP Statesh]hBridge Ports and STP States}(hj1" hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj." hhhhhKGubj )}(hhh]j )}(hX In the context of STP, bridge ports can be in one of the following states:
* Blocking: The port is disabled for data traffic and only listens for
BPDUs (Bridge Protocol Data Units) from other devices to determine the
network topology.
* Listening: The port begins to participate in the STP process and listens
for BPDUs.
* Learning: The port continues to listen for BPDUs and begins to learn MAC
addresses from incoming frames but does not forward data frames.
* Forwarding: The port is fully operational and forwards both BPDUs and
data frames.
* Disabled: The port is administratively disabled and does not participate
in the STP process. The data frames forwarding are also disabled.
h](j )}(hJIn the context of STP, bridge ports can be in one of the following states:h]hJIn the context of STP, bridge ports can be in one of the following states:}(hjF" hhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKThjB" ubj; )}(hhh]j7 )}(hhh](j< )}(hBlocking: The port is disabled for data traffic and only listens for
BPDUs (Bridge Protocol Data Units) from other devices to determine the
network topology.h]h)}(hBlocking: The port is disabled for data traffic and only listens for
BPDUs (Bridge Protocol Data Units) from other devices to determine the
network topology.h]hBlocking: The port is disabled for data traffic and only listens for
BPDUs (Bridge Protocol Data Units) from other devices to determine the
network topology.}(hj^" hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKJhjZ" ubah}(h]h ]h"]h$]h&]uh1j; hjW" ubj< )}(hSListening: The port begins to participate in the STP process and listens
for BPDUs.h]h)}(hSListening: The port begins to participate in the STP process and listens
for BPDUs.h]hSListening: The port begins to participate in the STP process and listens
for BPDUs.}(hjv" hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKMhjr" ubah}(h]h ]h"]h$]h&]uh1j; hjW" ubj< )}(hLearning: The port continues to listen for BPDUs and begins to learn MAC
addresses from incoming frames but does not forward data frames.h]h)}(hLearning: The port continues to listen for BPDUs and begins to learn MAC
addresses from incoming frames but does not forward data frames.h]hLearning: The port continues to listen for BPDUs and begins to learn MAC
addresses from incoming frames but does not forward data frames.}(hj" hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKOhj" ubah}(h]h ]h"]h$]h&]uh1j; hjW" ubj< )}(hRForwarding: The port is fully operational and forwards both BPDUs and
data frames.h]h)}(hRForwarding: The port is fully operational and forwards both BPDUs and
data frames.h]hRForwarding: The port is fully operational and forwards both BPDUs and
data frames.}(hj" hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKQhj" ubah}(h]h ]h"]h$]h&]uh1j; hjW" ubj< )}(hDisabled: The port is administratively disabled and does not participate
in the STP process. The data frames forwarding are also disabled.
h]h)}(hDisabled: The port is administratively disabled and does not participate
in the STP process. The data frames forwarding are also disabled.h]hDisabled: The port is administratively disabled and does not participate
in the STP process. The data frames forwarding are also disabled.}(hj" hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShj" ubah}(h]h ]h"]h$]h&]uh1j; hjW" ubeh}(h]h ]h"]h$]h&]jt ju uh1j6 hhhKJhjT" ubah}(h]h ]h"]h$]h&]uh1j: hjB" ubeh}(h]h ]h"]h$]h&]uh1j hhhKThj?" ubah}(h]h ]h"]h$]h&]uh1j hj." hhhNhNubeh}(h]bridge-ports-and-stp-statesah ]h"]bridge ports and stp statesah$]h&]uh1hhj! hhhhhKGubh)}(hhh](h)}(hRoot Bridge and Convergenceh]hRoot Bridge and Convergence}(hj" hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj" hhhhhKWubh)}(hIn the context of networking and Ethernet bridging in Linux, the root bridge
is a designated switch in a bridged network that serves as a reference point
for the spanning tree algorithm to create a loop-free topology.h]hIn the context of networking and Ethernet bridging in Linux, the root bridge
is a designated switch in a bridged network that serves as a reference point
for the spanning tree algorithm to create a loop-free topology.}(hj# hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKYhj" hhubj )}(hhh]j )}(hX Here's how the STP works and root bridge is chosen:
1. Bridge Priority: Each bridge running a spanning tree protocol, has a
configurable Bridge Priority value. The lower the value, the higher the
priority. By default, the Bridge Priority is set to a standard value
(e.g., 32768).
2. Bridge ID: The Bridge ID is composed of two components: Bridge Priority
and the MAC address of the bridge. It uniquely identifies each bridge
in the network. The Bridge ID is used to compare the priorities of
different bridges.
3. Bridge Election: When the network starts, all bridges initially assume
that they are the root bridge. They start advertising Bridge Protocol
Data Units (BPDU) to their neighbors, containing their Bridge ID and
other information.
4. BPDU Comparison: Bridges exchange BPDUs to determine the root bridge.
Each bridge examines the received BPDUs, including the Bridge Priority
and Bridge ID, to determine if it should adjust its own priorities.
The bridge with the lowest Bridge ID will become the root bridge.
5. Root Bridge Announcement: Once the root bridge is determined, it sends
BPDUs with information about the root bridge to all other bridges in the
network. This information is used by other bridges to calculate the
shortest path to the root bridge and, in doing so, create a loop-free
topology.
6. Forwarding Ports: After the root bridge is selected and the spanning tree
topology is established, each bridge determines which of its ports should
be in the forwarding state (used for data traffic) and which should be in
the blocking state (used to prevent loops). The root bridge's ports are
all in the forwarding state. while other bridges have some ports in the
blocking state to avoid loops.
7. Root Ports: After the root bridge is selected and the spanning tree
topology is established, each non-root bridge processes incoming
BPDUs and determines which of its ports provides the shortest path to the
root bridge based on the information in the received BPDUs. This port is
designated as the root port. And it is in the Forwarding state, allowing
it to actively forward network traffic.
8. Designated ports: A designated port is the port through which the non-root
bridge will forward traffic towards the designated segment. Designated ports
are placed in the Forwarding state. All other ports on the non-root
bridge that are not designated for specific segments are placed in the
Blocking state to prevent network loops.
h](j )}(h3Here's how the STP works and root bridge is chosen:h]h5Here’s how the STP works and root bridge is chosen:}(hj# hhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKhj# ubj; )}(hhh]henumerated_list)}(hhh](j< )}(hBridge Priority: Each bridge running a spanning tree protocol, has a
configurable Bridge Priority value. The lower the value, the higher the
priority. By default, the Bridge Priority is set to a standard value
(e.g., 32768).h]h)}(hBridge Priority: Each bridge running a spanning tree protocol, has a
configurable Bridge Priority value. The lower the value, the higher the
priority. By default, the Bridge Priority is set to a standard value
(e.g., 32768).h]hBridge Priority: Each bridge running a spanning tree protocol, has a
configurable Bridge Priority value. The lower the value, the higher the
priority. By default, the Bridge Priority is set to a standard value
(e.g., 32768).}(hj2# hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK^hj.# ubah}(h]h ]h"]h$]h&]uh1j; hj+# ubj< )}(hBridge ID: The Bridge ID is composed of two components: Bridge Priority
and the MAC address of the bridge. It uniquely identifies each bridge
in the network. The Bridge ID is used to compare the priorities of
different bridges.h]h)}(hBridge ID: The Bridge ID is composed of two components: Bridge Priority
and the MAC address of the bridge. It uniquely identifies each bridge
in the network. The Bridge ID is used to compare the priorities of
different bridges.h]hBridge ID: The Bridge ID is composed of two components: Bridge Priority
and the MAC address of the bridge. It uniquely identifies each bridge
in the network. The Bridge ID is used to compare the priorities of
different bridges.}(hjJ# hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKbhjF# ubah}(h]h ]h"]h$]h&]uh1j; hj+# ubj< )}(hBridge Election: When the network starts, all bridges initially assume
that they are the root bridge. They start advertising Bridge Protocol
Data Units (BPDU) to their neighbors, containing their Bridge ID and
other information.h]h)}(hBridge Election: When the network starts, all bridges initially assume
that they are the root bridge. They start advertising Bridge Protocol
Data Units (BPDU) to their neighbors, containing their Bridge ID and
other information.h]hBridge Election: When the network starts, all bridges initially assume
that they are the root bridge. They start advertising Bridge Protocol
Data Units (BPDU) to their neighbors, containing their Bridge ID and
other information.}(hjb# hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKfhj^# ubah}(h]h ]h"]h$]h&]uh1j; hj+# ubj< )}(hX BPDU Comparison: Bridges exchange BPDUs to determine the root bridge.
Each bridge examines the received BPDUs, including the Bridge Priority
and Bridge ID, to determine if it should adjust its own priorities.
The bridge with the lowest Bridge ID will become the root bridge.h]h)}(hX BPDU Comparison: Bridges exchange BPDUs to determine the root bridge.
Each bridge examines the received BPDUs, including the Bridge Priority
and Bridge ID, to determine if it should adjust its own priorities.
The bridge with the lowest Bridge ID will become the root bridge.h]hX BPDU Comparison: Bridges exchange BPDUs to determine the root bridge.
Each bridge examines the received BPDUs, including the Bridge Priority
and Bridge ID, to determine if it should adjust its own priorities.
The bridge with the lowest Bridge ID will become the root bridge.}(hjz# hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKjhjv# ubah}(h]h ]h"]h$]h&]uh1j; hj+# ubj< )}(hX# Root Bridge Announcement: Once the root bridge is determined, it sends
BPDUs with information about the root bridge to all other bridges in the
network. This information is used by other bridges to calculate the
shortest path to the root bridge and, in doing so, create a loop-free
topology.h]h)}(hX# Root Bridge Announcement: Once the root bridge is determined, it sends
BPDUs with information about the root bridge to all other bridges in the
network. This information is used by other bridges to calculate the
shortest path to the root bridge and, in doing so, create a loop-free
topology.h]hX# Root Bridge Announcement: Once the root bridge is determined, it sends
BPDUs with information about the root bridge to all other bridges in the
network. This information is used by other bridges to calculate the
shortest path to the root bridge and, in doing so, create a loop-free
topology.}(hj# hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKnhj# ubah}(h]h ]h"]h$]h&]uh1j; hj+# ubj< )}(hX Forwarding Ports: After the root bridge is selected and the spanning tree
topology is established, each bridge determines which of its ports should
be in the forwarding state (used for data traffic) and which should be in
the blocking state (used to prevent loops). The root bridge's ports are
all in the forwarding state. while other bridges have some ports in the
blocking state to avoid loops.h]h)}(hX Forwarding Ports: After the root bridge is selected and the spanning tree
topology is established, each bridge determines which of its ports should
be in the forwarding state (used for data traffic) and which should be in
the blocking state (used to prevent loops). The root bridge's ports are
all in the forwarding state. while other bridges have some ports in the
blocking state to avoid loops.h]hX Forwarding Ports: After the root bridge is selected and the spanning tree
topology is established, each bridge determines which of its ports should
be in the forwarding state (used for data traffic) and which should be in
the blocking state (used to prevent loops). The root bridge’s ports are
all in the forwarding state. while other bridges have some ports in the
blocking state to avoid loops.}(hj# hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKshj# ubah}(h]h ]h"]h$]h&]uh1j; hj+# ubj< )}(hX Root Ports: After the root bridge is selected and the spanning tree
topology is established, each non-root bridge processes incoming
BPDUs and determines which of its ports provides the shortest path to the
root bridge based on the information in the received BPDUs. This port is
designated as the root port. And it is in the Forwarding state, allowing
it to actively forward network traffic.h]h)}(hX Root Ports: After the root bridge is selected and the spanning tree
topology is established, each non-root bridge processes incoming
BPDUs and determines which of its ports provides the shortest path to the
root bridge based on the information in the received BPDUs. This port is
designated as the root port. And it is in the Forwarding state, allowing
it to actively forward network traffic.h]hX Root Ports: After the root bridge is selected and the spanning tree
topology is established, each non-root bridge processes incoming
BPDUs and determines which of its ports provides the shortest path to the
root bridge based on the information in the received BPDUs. This port is
designated as the root port. And it is in the Forwarding state, allowing
it to actively forward network traffic.}(hj# hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhj# ubah}(h]h ]h"]h$]h&]uh1j; hj+# ubj< )}(hXL Designated ports: A designated port is the port through which the non-root
bridge will forward traffic towards the designated segment. Designated ports
are placed in the Forwarding state. All other ports on the non-root
bridge that are not designated for specific segments are placed in the
Blocking state to prevent network loops.
h]h)}(hXK Designated ports: A designated port is the port through which the non-root
bridge will forward traffic towards the designated segment. Designated ports
are placed in the Forwarding state. All other ports on the non-root
bridge that are not designated for specific segments are placed in the
Blocking state to prevent network loops.h]hXK Designated ports: A designated port is the port through which the non-root
bridge will forward traffic towards the designated segment. Designated ports
are placed in the Forwarding state. All other ports on the non-root
bridge that are not designated for specific segments are placed in the
Blocking state to prevent network loops.}(hj# hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj# ubah}(h]h ]h"]h$]h&]uh1j; hj+# ubeh}(h]h ]h"]h$]h&]enumtypearabicprefixhsuffix.uh1j)# hj