Subject: Multicast routing stops functioning after 4G multicast packets recived.

From: "Bob Falken" <[email-masked]>
Date: Thu, 19 Dec 2013 15:48:16 +0100

Hello, I have an issue after kernel 2.6.37 and above.
If i roll back to kernel 2.6.36.4 everything is fine.
if recive more than 4294967295 multicast packets, the kernel does not register the multicast packets. and multicast routing does not functioning.
(Tested bouth FIB_HASH and FIB_TRIE)   
Tested with xorp and pimd. 
I have abount 24 multicast groups, and it takes me about 17hours to reproduce the issue after a reboot.
Reboot is reqired to fix the issue. (Tested to stop/start pimd/xorp, reload network module for the network interface "e1000e",
Used birdge adapter and remove bridge adapter and readd bridge adapter to clear counters. none of thouse solves the issue.)

When the packet count for the input interface goes over 4294967295 packets. 
br0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX 
 inet addr:10.255.255.1 Bcast:10.255.255.255 Mask:255.255.255.0 
 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
 RX packets:4295483655 errors:0 dropped:0 overruns:0 frame:0 
 TX packets:4210 errors:0 dropped:0 overruns:0 carrier:0 
 collisions:0 txqueuelen:0 
 RX bytes:3350477250900 (3.0 TiB) TX bytes:240828 (235.1 KiB) 

"/proc/net/ip_mr_cache" goes blank. 

This is the state of "/proc/net/ip_mr_cache" a couple of seconds before the stop: 
Group Origin Iif Pkts Bytes Wrong Oifs 
0A0202EF 0BFFFF0A 1 181610713 4217402668 0 
090202EF 0BFFFF0A 1 181610715 4217404228 0 
080202EF 0BFFFF0A 1 181610716 4217405008 0 
070202EF 0BFFFF0A 1 181610716 4217405008 0 
180202EF 0DFFFF0A 1 181611351 4217900308 0 
170202EF 0DFFFF0A 1 181611353 4217901868 0 
120202EF 0CFFFF0A 1 170885816 146950304 0 
020202EF 0AFFFF0A 1 181609636 4216562608 0 
160202EF 0DFFFF0A 1 181611358 4217905768 0 
150202EF 0DFFFF0A 1 181611359 4217906548 0 
060202EF 0AFFFF0A 1 181609641 4216566508 0 
140202EF 0DFFFF0A 1 181611364 4217910448 0 
050202EF 0AFFFF0A 1 181609644 4216568848 0 
130202EF 0DFFFF0A 1 181611366 4217912008 0 
040202EF 0AFFFF0A 1 181609649 4216572748 0 
030202EF 0AFFFF0A 1 181609651 4216574308 0 0:1 
110202EF 0CFFFF0A 1 170885832 146962784 0 
010202EF 0AFFFF0A 1 181609652 4216575088 0 0:1 
100202EF 0CFFFF0A 1 170885837 146966684 0 
0F0202EF 0CFFFF0A 1 170885838 146967464 0 
0E0202EF 0CFFFF0A 1 170885841 146969804 0 
0D0202EF 0CFFFF0A 1 170885842 146970584 0 
0C0202EF 0BFFFF0A 1 181610767 4217444788 0 
0B0202EF 0BFFFF0A 1 181610772 4217448688 0 
i have also tested the following kernels:linux-2.6.38.8 
linux-2.6.39.4 
linux-3.2.53 
linux-3.10.24 
linux-3.11.9
I can reproduce the issue on all of them. 

dmesg does provide any messages when this issue occure.

My arcutecture is "amd64".

I think there might be a variable in the kernel that get overflown. though i cannot be sure as im not a programmer. 

Let me know if you need more debug information.

Please help.