Dell FCX624-S Laptop User Manual


  Open as PDF
of 1494
 
650 PowerConnect B-Series FCX Configuration Guide
53-1002266-01
IGMP snooping overview
22
An IGMP device is responsible for broadcasting general queries periodically, and sending group
queries when it receives a leave message, to confirm that none of the clients on the port still want
specific traffic before removing the traffic from the port. IGMPv2 lets clients specify what group
(destination address) will receive the traffic but not to specify the source of the traffic. IGMPv3 is
for source-specific multicast traffic, adding the capability for clients to INCLUDE or EXCLUDE
specific traffic sources. An IGMPv3 device port state could be INCLUDE or EXCLUDE, and there are
different types of group records for client reports.
The interfaces respond to general or group queries by sending a membership report that contains
one or more of the following records associated with a specific group:
Current-state record that indicates from which sources the interface wants to receive and not
receive traffic. This record contains the source address of interfaces and whether or not traffic
will be included (IS_IN) or not excluded (IS_EX) from this source.
Filter-mode-change record. If the interface state changes from IS_IN to IS_EX, a TO_EX record
is included in the membership report. Likewise, if the interface state changes from IS_EX to
IS_IN, a TO_IN record appears in the membership report.
An IGMPv2 leave report is equivalent to a TO_IN (empty) record in IGMPv3. This record means
that no traffic from this group will be received regardless of the source.
An IGMPv2 group report is equivalent to an IS_EX (empty) record in IGMPv3. This record means
that all traffic from this group will be received regardless of source.
Source-list-change record. If the interface wants to add or remove traffic sources from its
membership report, the report can contain an ALLOW record, which includes a list of new
sources from which the interface wishes to receive traffic. It can also contain a BLOCK record,
which lists the current traffic sources from which the interface wants to stop receiving traffic.
IGMP protocols provide a method for clients and a device to exchange messages, and let the device
build a database indicating which port wants what traffic. The protocols do not specify forwarding
methods. They require IGMP snooping or multicast protocols such as PIM or DVMRP to handle
packet forwarding. PIM and DVMRP can route multicast packets within and outside a VLAN, while
IGMP snooping can switch packets only within a VLAN. Currently,PowerConnect B-Series FCX
devices do not support multicast routing.
If a VLAN is not IGMP snooping-enabled, it floods multicast data and control packets to the entire
VLAN in hardware. When snooping is enabled, IGMP packets are trapped to the CPU. Data packets
are mirrored to the CPU in addition to being VLAN flooded. The CPU then installs hardware
resources, so that subsequent data packets can be switched to desired ports in hardware without
going to the CPU. If there is no client report or port to queriers for a data stream, the hardware
resource drops it. The hardware can either match the group address only (* G), or both the source
and group (S G) of the data stream. If any IGMPv3 is configured in any port of a VLAN, this VLAN
uses (S G) match; otherwise, it uses (* G). This is 32-bit IP address matching, not 23-bit multicast
MAC address 01-00-5e-xx-xx-xx matching.
PowerConnect B-Series FCX devices have 16K of hardware resources allocated to MAC learning,
IGMP, and MLD snooping. If a data packet does not match any of these resources, it might be sent
to the CPU, which increases the CPU burden. This can happen if the device runs out of hardware
resource, or is unable to install resources for a specific matching address due to hashing collision.
The hardware hashes addresses into 16K entries, with some addresses hashed into the same
entry. If the collision number in an entry is more than the hardware chain length, the resource
cannot be installed. The chain length can be configured using the hash-chain-length command.
PowerConnect(config)# hash-chain-length 8
Syntax: [no] hash-chain-length <num>