Reset Search
 

 

Article

What is IPMC group table compression?

« Go Back

Information

 
TitleWhat is IPMC group table compression?
Question
What is IPMC group table compression?
Environment
  • EXOS All
Answer
IPMC (IP Multicast) group table compression is intended to increase scalability of multicast hardware tables in EXOS switch, and allows multiple <S,G,V> multicast cache entries
to utilize the same group table entry when the associated egress port lists are the same. 

When it comes to IGMP snooping entries, one IGMP snooping entry uses two different hardware table resources to hardware forward multicast packets instead of software forwarding them.
The first hardware table is the L3 hash table that is shared with ARP entries. The multicast entries in the L3 hash table is represented as a form of (Source,GroupAddress,VLAN).
The second table associated with the first table is the group table and its entries contain a list of egress ports where multicast packets should be replicated and forwarded out.

When a switch receives an IGMP report, an IGMP snooping entry will be created in hardware, populating one entry of (S,G,V) in the L3 hash table and one entry of an egress port list in the group table.
When the switch receives a multicast packet, its (S,G,V) will be searched in the L3 hash table.
If there is a match, the associated group table entry will be referenced and the packet will be replicated and forwarded out to the ports specified in the group table entry. 

The reason IPMC compression increases scalability of multicast hardware tables is that the number of the group table entries is less than the number of (S,G,V) entries supported in the L3 hash table.
With IPMC compression off, each (S,G,V) entry in the L3 hash table is associated with an individual/separate group table entry.
In this way, the total number of multicast hardware entries is limited to the group table size. 
With IPMC compression on, multiple (S,G,V) entries in the L3 hash table can share the same group table entry, when their replication port lists are same.
In most environments where multiple multicast cache entries share the same set of replication ports, the total number of multicast hardware entries can increase up to the number of the (S,G,V) cache entries supported in the L3 hash table. 

For example, C-series modules in BD8K support up to 4K of (S,G,V) cache entries in the L3 hash table but up to 2K of the group table entries.
And, XL-series modules support up to 6K of (S,G,V) cache entries in the L3 hash table but up to 4K of the group table entries.
With IPMC compression on, the maximum number of the multicast hardware table increases up to 4K on C-series modules and 6K on XL-series modules.

In EXOS switch, IPMC compression is enabled by default, and in most cases, it doesn't have to be changed. To change the IPMC compression mode, use the following command. 

 
configure forwarding ipmc compression [ group_table | off ]
Note: when you enable or disable this mode, all IP multicast entries are flushed, and this can result in a temporary loss of multicast traffic while the IP multicast entries are relearned.

To verify usage of the IPMC cache entries and group table entries, use the following debug command. 

 
# debug hal show ipv4Mc 

Total IPMC Cache Entries              : 3(IPv4 : 3, IPv6 :0)
Total IPMC Caches with No Group Index : 0(IPv4 : 0, IPv6 :0)
L2 Mode Caches with No Group Index    : 0(IPv4 : 0, IPv6 :0)
L3 Mode Caches with No Group Index    : 0(IPv4 : 0, IPv6 :0)
IPMC Group Table Entries In-use       : 2
IPMC Group Table Entries Max          : 0
L2MC Group Table Entries In-use       : 0
L2MC Group Table Entries Max          : 0
IPMC Forwarding Mode                  : 2
Additional notes
Note: This command is useful to reprogram multicast hardware tables along with "clear igmp snooping" command, in case multicast entries are out of sync between hardware and software tables.  

Feedback

 

Was this article helpful?


   

Feedback

Please tell us how we can make this article more useful.

Characters Remaining: 255