Message ID | 20231110101548.1900519-8-liuhangbin@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | Doc: update bridge doc | expand |
On 11/10/23 12:15, Hangbin Liu wrote: > Add multicast part for bridge document. > > Signed-off-by: Hangbin Liu <liuhangbin@gmail.com> > --- > Documentation/networking/bridge.rst | 55 +++++++++++++++++++++++++++++ > 1 file changed, 55 insertions(+) > > diff --git a/Documentation/networking/bridge.rst b/Documentation/networking/bridge.rst > index 88dfc6eb0919..1fe645c9543d 100644 > --- a/Documentation/networking/bridge.rst > +++ b/Documentation/networking/bridge.rst > @@ -164,6 +164,61 @@ on bridge is disabled by default. After enabling VLAN > filter on bridge, the bridge can handle VLAN-tagged frames and forward them > to the appropriate destinations. > > +Multicast > +========= > + > +The Linux bridge driver has multicast support allowing it to process Internet > +Group Management Protocol (IGMP) or Multicast Listener Discovery (MLD) > +messages, and to efficiently forward multicast data packets. The bridge > +driver support IGMPv2/IGMPv3 and MLDv1/MLDv2. > + > +Multicast snooping > +------------------ > + > +Multicast snooping is a networking technology that allows network switches > +to intelligently manage multicast traffic within a local area network (LAN). > + > +The switch maintains a multicast group table, which records the association > +between multicast group addresses and the ports where hosts have joined these > +groups. The group table is dynamically updated based on the IGMP/MLD messages > +received. With the multicast group information gathered through snooping, the > +switch optimizes the forwarding of multicast traffic. Instead of blindly > +broadcasting the multicast traffic to all ports, it sends the multicast > +traffic based on the destination MAC address only to ports which have joined > +the respective destination multicast group. > + > +When created, the Linux bridge devices have multicast snooping enabled by > +default. It maintains a Multicast forwarding database (MDB) which keeps track > +of port and group relationships. > + > +IGMPv3/MLDv2 ETH support s/ETH/EHT/ Explicit Host Tracking is what we use in the bridge. I know both are correct, but we should be consistent. You can change it below as well. > +------------------------ > + > +The Linux bridge supports IGMPv3/MLDv2 ETH (Explicit Tracking of Hosts), which > +was added by `474ddb37fa3a ("net: bridge: multicast: add EHT allow/block handling") > +<https://lore.kernel.org/netdev/20210120145203.1109140-1-razor@blackwall.org/>`_ > + > +The explicit tracking of hosts enables the device to keep track of each > +individual host that is joined to a particular group or channel. The main > +benefit of the explicit tracking of hosts in IGMP is to allow minimal leave > +latencies when a host leaves a multicast group or channel. > + > +The length of time between a host wanting to leave and a device stopping > +traffic forwarding is called the IGMP leave latency. A device configured > +with IGMPv3 or MLDv2 and explicit tracking can immediately stop forwarding > +traffic if the last host to request to receive traffic from the device > +indicates that it no longer wants to receive traffic. The leave latency > +is thus bound only by the packet transmission latencies in the multiaccess > +network and the processing time in the device. > + > +Other multicast features > +------------------------ > +The Linux bridge also supports `per-VLAN multicast snooping > +<https://lore.kernel.org/netdev/20210719170637.435541-1-razor@blackwall.org/>`_, > +which is disabled by default but can be enabled. And `Multicast Router Discovery > +<https://lore.kernel.org/netdev/20190121062628.2710-1-linus.luessing@c0d3.blue/>`_, > +which help identify the location of multicast routers. > + > FAQ > === >
diff --git a/Documentation/networking/bridge.rst b/Documentation/networking/bridge.rst index 88dfc6eb0919..1fe645c9543d 100644 --- a/Documentation/networking/bridge.rst +++ b/Documentation/networking/bridge.rst @@ -164,6 +164,61 @@ on bridge is disabled by default. After enabling VLAN filter on bridge, the bridge can handle VLAN-tagged frames and forward them to the appropriate destinations. +Multicast +========= + +The Linux bridge driver has multicast support allowing it to process Internet +Group Management Protocol (IGMP) or Multicast Listener Discovery (MLD) +messages, and to efficiently forward multicast data packets. The bridge +driver support IGMPv2/IGMPv3 and MLDv1/MLDv2. + +Multicast snooping +------------------ + +Multicast snooping is a networking technology that allows network switches +to intelligently manage multicast traffic within a local area network (LAN). + +The switch maintains a multicast group table, which records the association +between multicast group addresses and the ports where hosts have joined these +groups. The group table is dynamically updated based on the IGMP/MLD messages +received. With the multicast group information gathered through snooping, the +switch optimizes the forwarding of multicast traffic. Instead of blindly +broadcasting the multicast traffic to all ports, it sends the multicast +traffic based on the destination MAC address only to ports which have joined +the respective destination multicast group. + +When created, the Linux bridge devices have multicast snooping enabled by +default. It maintains a Multicast forwarding database (MDB) which keeps track +of port and group relationships. + +IGMPv3/MLDv2 ETH support +------------------------ + +The Linux bridge supports IGMPv3/MLDv2 ETH (Explicit Tracking of Hosts), which +was added by `474ddb37fa3a ("net: bridge: multicast: add EHT allow/block handling") +<https://lore.kernel.org/netdev/20210120145203.1109140-1-razor@blackwall.org/>`_ + +The explicit tracking of hosts enables the device to keep track of each +individual host that is joined to a particular group or channel. The main +benefit of the explicit tracking of hosts in IGMP is to allow minimal leave +latencies when a host leaves a multicast group or channel. + +The length of time between a host wanting to leave and a device stopping +traffic forwarding is called the IGMP leave latency. A device configured +with IGMPv3 or MLDv2 and explicit tracking can immediately stop forwarding +traffic if the last host to request to receive traffic from the device +indicates that it no longer wants to receive traffic. The leave latency +is thus bound only by the packet transmission latencies in the multiaccess +network and the processing time in the device. + +Other multicast features +------------------------ +The Linux bridge also supports `per-VLAN multicast snooping +<https://lore.kernel.org/netdev/20210719170637.435541-1-razor@blackwall.org/>`_, +which is disabled by default but can be enabled. And `Multicast Router Discovery +<https://lore.kernel.org/netdev/20190121062628.2710-1-linus.luessing@c0d3.blue/>`_, +which help identify the location of multicast routers. + FAQ ===
Add multicast part for bridge document. Signed-off-by: Hangbin Liu <liuhangbin@gmail.com> --- Documentation/networking/bridge.rst | 55 +++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+)