Example 1a: HP ProCurve 2626 (H.07.31) snooping IGMP v3

Of note we observe that the HP does not perform IGMP v3 leave processing correctly; It uses soft-state timers to prune the port rather than immediately pruning the port when the leave is received. A leave (include mode) is sent up from the host toward the router but it does not make it past the HP switch. The router keeps sending traffic for about 3 minutes when it's soft state timers expire. However, the switch prunes the port sooner than router does and in fact floods all hosts on the switch with the traffic for 66 seconds!

An IGMP v3 limitation is documented in the HP manual but not the fact that it supresses the leave message, prunes too early and then floods all hosts with the traffic until the router gets around to pruning!

The switch

The switch under test is an HP 2626 ProCurve running version H.07.31 with IGMP snooping enabled:
; J4900A Configuration Editor; Created on release #H.07.31

hostname "HP ProCurve Switch 2626" 
cdp run 
ip default-gateway 128.59.7.1 
snmp-server community "public" Unrestricted 
vlan 1 
   name "DEFAULT_VLAN" 
   untagged 1-26 
   ip address 128.59.7.254 255.255.255.0 
   ip igmp 
   exit 
password manager

The traces

I ran tcpdump on all four hosts as shown in the following example for one of the hosts:
tcpdump -s 1500 -w 12.tcpdump igmp or dst 224.5.6.7 &
This captures IGMP protocol messages and the (relatively low data rate) multicast data for the group of interest. Raw tcpdump traces are here:

host 10
host 11
host 12
host 13

Following are summaries of the traces and switch and router IGMP CLI output merged in chronological order:
Initial state
switch
HP ProCurve Switch 2626# sho ip igmp

 Status and Counters - IP Multicast (IGMP) Status

 VLAN ID : 1
 VLAN Name : DEFAULT_VLAN
 Querier Address : 128.59.7.1

  Active Group Addresses Reports Queries Querier Access Port
  ---------------------- ------- ------- -------------------
router
wat-edge-1>sho ip igmp groups fa7/37
IGMP Connected Group Membership
Group Address    Interface                Uptime    Expires   Last Reporter
Host 10 joins group. Exclude mode membership report is sent up to switch and passed through unmodified to router, but is supressed out other switch ports (so hosts 11 and 12 don't hear it).
host 10
No.     Time        Source                Destination           Protocol Info
      1 0.000000    128.59.7.10           224.0.0.22            IGMP     V3 Membership Report

Frame 1 (54 bytes on wire, 54 bytes captured)
Ethernet II, Src: 00:00:86:51:bd:b2, Dst: 01:00:5e:00:00:16
Internet Protocol, Src Addr: 128.59.7.10 (128.59.7.10), Dst Addr: 224.0.0.22 (224.0.0.22)
Internet Group Management Protocol
    IGMP Version: 3
    Type: Membership Report (0x22)
    Header checksum: 0xf3f1 (correct)
    Num Group Records: 1
    Group Record : 224.5.6.7  Change To Exclude Mode
host 13
No.     Time        Source                Destination           Protocol Info
      1 0.000000    128.59.7.10           224.0.0.22            IGMP     V3 Membership Report

Frame 1 (60 bytes on wire, 60 bytes captured)
Ethernet II, Src: 00:00:86:51:bd:b2, Dst: 01:00:5e:00:00:16
Internet Protocol, Src Addr: 128.59.7.10 (128.59.7.10), Dst Addr: 224.0.0.22 (224.0.0.22)
Internet Group Management Protocol
    IGMP Version: 3
    Type: Membership Report (0x22)
    Header checksum: 0xf3f1 (correct)
    Num Group Records: 1
    Group Record : 224.5.6.7  Change To Exclude Mode
host 11 nothing
host 12 nothing
Data starts to flow. Host 13 sees it come down from router which passes through to host 10 only, as it should.
host 13
Frame 2 (1512 bytes on wire, 1500 bytes captured)
Ethernet II, Src: 00:08:7c:d0:08:40, Dst: 01:00:5e:05:06:07
Internet Protocol, Src Addr: 128.59.39.150 (128.59.39.150), Dst Addr: 224.5.6.7 (224.5.6.7)
User Datagram Protocol, Src Port: 33981 (33981), Dst Port: 8910 (8910)
Data (1458 bytes)
host 10
No.     Time        Source                Destination           Protocol Info
      2 0.920255    128.59.39.150         224.5.6.7             UDP      Source port: 33981  Destination port: 8910

Frame 2 (1512 bytes on wire, 1500 bytes captured)
Ethernet II, Src: 00:08:7c:d0:08:40, Dst: 01:00:5e:05:06:07
Internet Protocol, Src Addr: 128.59.39.150 (128.59.39.150), Dst Addr: 224.5.6.7 (224.5.6.7)
User Datagram Protocol, Src Port: 33981 (33981), Dst Port: 8910 (8910)
Data (1458 bytes)
host 11 nothing
host 12 nothing
Data keeps flowing for about 39 seconds and the router sends out a membership query which is flooded out all switch ports. (N.B. this is time 0 for hosts 11 and 12 as it is the first packet they've heard.)
host 13
No.     Time        Source                Destination           Protocol Info
     41 39.403474   128.59.7.1            224.0.0.1             IGMP     V3 Membership Query

Frame 41 (60 bytes on wire, 60 bytes captured)
Ethernet II, Src: 00:d0:03:66:80:0a, Dst: 01:00:5e:00:00:01
Internet Protocol, Src Addr: 128.59.7.1 (128.59.7.1), Dst Addr: 224.0.0.1 (224.0.0.1)
Internet Group Management Protocol
    IGMP Version: 3
    Type: Membership Query (0x11)
    Max Response Time: 10.0 sec (0x64)
    Header checksum: 0xec5f (correct)
    Multicast Address: 0.0.0.0 (0.0.0.0)
    QRV=2 S=Do not supress router side processing
    QQIC: 60
    Num Src: 0
host 10
No.     Time        Source                Destination           Protocol Info
     41 39.402519   128.59.7.1            224.0.0.1             IGMP     V3 Membership Query

Frame 41 (60 bytes on wire, 60 bytes captured)
Ethernet II, Src: 00:d0:03:66:80:0a, Dst: 01:00:5e:00:00:01
Internet Protocol, Src Addr: 128.59.7.1 (128.59.7.1), Dst Addr: 224.0.0.1 (224.0.0.1)
Internet Group Management Protocol
    IGMP Version: 3
    Type: Membership Query (0x11)
    Max Response Time: 10.0 sec (0x64)
    Header checksum: 0xec5f (correct)
    Multicast Address: 0.0.0.0 (0.0.0.0)
    QRV=2 S=Do not supress router side processing
    QQIC: 60
    Num Src: 0
host 11
No.     Time        Source                Destination           Protocol Info
      1 0.000000    128.59.7.1            224.0.0.1             IGMP     V3 Membership Query

Frame 1 (60 bytes on wire, 60 bytes captured)
Ethernet II, Src: 00:d0:03:66:80:0a, Dst: 01:00:5e:00:00:01
Internet Protocol, Src Addr: 128.59.7.1 (128.59.7.1), Dst Addr: 224.0.0.1 (224.0.0.1)
Internet Group Management Protocol
    IGMP Version: 3
    Type: Membership Query (0x11)
    Max Response Time: 10.0 sec (0x64)
    Header checksum: 0xec5f (correct)
    Multicast Address: 0.0.0.0 (0.0.0.0)
    QRV=2 S=Do not supress router side processing
    QQIC: 60
    Num Src: 0
host 12
No.     Time        Source                Destination           Protocol Info
      1 0.000000    128.59.7.10           224.0.0.22            IGMP     V3 Membership Report

Frame 1 (60 bytes on wire, 60 bytes captured)
Ethernet II, Src: 00:00:86:51:bd:b2, Dst: 01:00:5e:00:00:16
Internet Protocol, Src Addr: 128.59.7.10 (128.59.7.10), Dst Addr: 224.0.0.22 (224.0.0.22)
Internet Group Management Protocol
    IGMP Version: 3
    Type: Membership Report (0x22)
    Header checksum: 0xf3f1 (correct)
    Num Group Records: 1
    Group Record : 224.5.6.7  Change To Exclude Mode
Data keeps flowing and about 6 seconds later, host 10 sends up a membership report, which the router receives but is not flooded out to hosts 11 or 12.
host 10
No.     Time        Source                Destination           Protocol Info
     49 46.800444   128.59.7.10           224.0.0.22            IGMP     V3 Membership Report

Frame 49 (54 bytes on wire, 54 bytes captured)
Ethernet II, Src: 00:00:86:51:bd:b2, Dst: 01:00:5e:00:00:16
Internet Protocol, Src Addr: 128.59.7.10 (128.59.7.10), Dst Addr: 224.0.0.22 (224.0.0.22)
Internet Group Management Protocol
    IGMP Version: 3
    Type: Membership Report (0x22)
    Header checksum: 0xf5f1 (correct)
    Num Group Records: 1
    Group Record : 224.5.6.7  Mode Is Exclude
host 13
No.     Time        Source                Destination           Protocol Info
     49 46.803464   128.59.7.10           224.0.0.22            IGMP     V3 Membership Report

Frame 49 (60 bytes on wire, 60 bytes captured)
Ethernet II, Src: 00:00:86:51:bd:b2, Dst: 01:00:5e:00:00:16
Internet Protocol, Src Addr: 128.59.7.10 (128.59.7.10), Dst Addr: 224.0.0.22 (224.0.0.22)
Internet Group Management Protocol
    IGMP Version: 3
    Type: Membership Report (0x22)
    Header checksum: 0xf5f1 (correct)
    Num Group Records: 1
    Group Record : 224.5.6.7  Mode Is Exclude
host 11 nothing
host 12 nothing
Host 10 leaves group, sends a leave (change to include mode), which is SUPPRESSED by the switch and never gets to the router. Traffic keeps flowing, even though the host doesn't care.
host 10
No.     Time        Source                Destination           Protocol Info
     59 55.037244   128.59.7.10           224.0.0.22            IGMP     V3 Membership Report

Frame 59 (54 bytes on wire, 54 bytes captured)
Ethernet II, Src: 00:00:86:51:bd:b2, Dst: 01:00:5e:00:00:16
Internet Protocol, Src Addr: 128.59.7.10 (128.59.7.10), Dst Addr: 224.0.0.22 (224.0.0.22)
Internet Group Management Protocol
    IGMP Version: 3
    Type: Membership Report (0x22)
    Header checksum: 0xf4f1 (correct)
    Num Group Records: 1
    Group Record : 224.5.6.7  Change To Include Mode
host 11 nothing
host 12 nothing
host 13
nothing toward router; data continues to flow toward switch.
Some time goes by, unwanted traffic keeps flowing to host 10. Hosts 11 and 12 just hear the once-a-minute membership query (as does host 10, who does not respond since he's already left the group). The switch and router show IGMP state with soft state timers counting down.
switch
HP ProCurve Switch 2626# sho ip igmp

 Status and Counters - IP Multicast (IGMP) Status

 VLAN ID : 1
 VLAN Name : DEFAULT_VLAN
 Querier Address : 128.59.7.1

  Active Group Addresses Reports Queries Querier Access Port
  ---------------------- ------- ------- -------------------
  224.5.6.7              3       3       1                  
 
router
wat-edge-1>sho ip igmp groups fa7/37
IGMP Connected Group Membership
Group Address    Interface                Uptime    Expires   Last Reporter
224.5.6.7        FastEthernet7/37         00:02:51  00:00:55  128.59.7.10
wat-edge-1>sho ip igmp groups fa7/37
IGMP Connected Group Membership
Group Address    Interface                Uptime    Expires   Last Reporter
224.5.6.7        FastEthernet7/37         00:02:55  00:00:51  128.59.7.10
The switch soft state IGMP counter expires, removing host 10's group membership. But the router is still counting down and sending the traffic which now FLOODS to all hosts on the switch.
switch HP ProCurve Switch 2626# sho ip igmp Status and Counters - IP Multicast (IGMP) Status VLAN ID : 1 VLAN Name : DEFAULT_VLAN Querier Address : 128.59.7.1 Active Group Addresses Reports Queries Querier Access Port ---------------------- ------- ------- -------------------
router
wat-edge-1>sho ip igmp groups fa7/37
IGMP Connected Group Membership
Group Address    Interface                Uptime    Expires   Last Reporter
224.5.6.7        FastEthernet7/37         00:03:04  00:00:42  128.59.7.10
wat-edge-1>sho ip igmp groups fa7/37
IGMP Connected Group Membership
. . .
wat-edge-1>sho ip igmp groups fa7/37
IGMP Connected Group Membership
Group Address    Interface                Uptime    Expires   Last Reporter
224.5.6.7        FastEthernet7/37         00:03:45  00:00:01  128.59.7.10
wat-edge-1>sho ip igmp groups fa7/37
IGMP Connected Group Membership
Group Address    Interface                Uptime    Expires   Last Reporter
224.5.6.7        FastEthernet7/37         00:03:45  00:00:00  128.59.7.10
wat-edge-1>sho ip igmp groups fa7/37
IGMP Connected Group Membership
Group Address    Interface                Uptime    Expires   Last Reporter
224.5.6.7        FastEthernet7/37         00:03:46  now       128.59.7.10
wat-edge-1>sho ip igmp groups fa7/37
IGMP Connected Group Membership
Group Address    Interface                Uptime    Expires   Last Reporter
wat-edge-1> 
host 10
No.     Time        Source                Destination           Protocol Info
    234 226.920104  128.59.39.150         224.5.6.7             UDP      Source port: 33981  Destination port: 8910

Frame 234 (1512 bytes on wire, 1500 bytes captured)
Ethernet II, Src: 00:08:7c:d0:08:40, Dst: 01:00:5e:05:06:07
Internet Protocol, Src Addr: 128.59.39.150 (128.59.39.150), Dst Addr: 224.5.6.7 (224.5.6.7)
User Datagram Protocol, Src Port: 33981 (33981), Dst Port: 8910 (8910)
Data (1458 bytes)
host 11
No.     Time        Source                Destination           Protocol Info
      4 131.518160  128.59.39.150         224.5.6.7             UDP      Source port: 33981  Destination port: 8910

Frame 4 (1512 bytes on wire, 1500 bytes captured)
Ethernet II, Src: 00:08:7c:d0:08:40, Dst: 01:00:5e:05:06:07
Internet Protocol, Src Addr: 128.59.39.150 (128.59.39.150), Dst Addr: 224.5.6.7 (224.5.6.7)
User Datagram Protocol, Src Port: 33981 (33981), Dst Port: 8910 (8910)
Data (1458 bytes)
host 12
... first data packet received:

No.     Time        Source                Destination           Protocol Info
      4 131.524134  128.59.39.150         224.5.6.7             UDP      Source port: 33981  Destination port: 8910

Frame 4 (1512 bytes on wire, 1500 bytes captured)
Ethernet II, Src: 00:08:7c:d0:08:40, Dst: 01:00:5e:05:06:07
Internet Protocol, Src Addr: 128.59.39.150 (128.59.39.150), Dst Addr: 224.5.6.7 (224.5.6.7)
User Datagram Protocol, Src Port: 33981 (33981), Dst Port: 8910 (8910)
Data (1458 bytes)

... last data packet received:

No.     Time        Source                Destination           Protocol Info
     61 187.527213  128.59.39.150         224.5.6.7             UDP      Source port: 33981  Destination port: 8910

Frame 61 (1512 bytes on wire, 1500 bytes captured)
Ethernet II, Src: 00:08:7c:d0:08:40, Dst: 01:00:5e:05:06:07
Internet Protocol, Src Addr: 128.59.39.150 (128.59.39.150), Dst Addr: 224.5.6.7 (224.5.6.7)
User Datagram Protocol, Src Port: 33981 (33981), Dst Port: 8910 (8910)
Data (1458 bytes)
host 13
... last data packet received:

No.     Time        Source                Destination           Protocol Info
    233 226.953965  128.59.39.150         224.5.6.7             UDP      Source port: 33981  Destination port: 8910

Frame 233 (1512 bytes on wire, 1500 bytes captured)
Ethernet II, Src: 00:08:7c:d0:08:40, Dst: 01:00:5e:05:06:07
Internet Protocol, Src Addr: 128.59.39.150 (128.59.39.150), Dst Addr: 224.5.6.7 (224.5.6.7)
User Datagram Protocol, Src Port: 33981 (33981), Dst Port: 8910 (8910)
Data (1458 bytes)