[Xorp-users] IGMP report group ...?

Hervé Léonard lherve at interfaceconcept.com
Mon Oct 6 07:28:47 PDT 2008


Hi,

I try to join a group multicast by sending a IGMP report message from a
Linux host to a Linux Xorp router (both on a Linux 2.6 - Ubuntu 8.04 Hardy
Heron)

Here is the configuration of my testbed:

HostA                               Router B
eth0             ----------   eth0              eth1
192.168.2.2               192.168.2.1  100.0.0.1

Host A tries to join the group 239.7.7.7 or 224.7.7.7 by sending IGMP report
v2 on the LAN. Xorp Router B do nothing...?

Here the Xorp configuration:
labo at DOL2400# show
    protocols {
        igmp {
            interface eth0 {
                vif eth0 {
                }
            }
            traceoptions {
                flag {
                    all {
                    }
                }
            }
        }
        static {
            route 192.168.3.0/24 {
                next-hop: 100.0.0.2
            }
        }
    }
    fea {
        unicast-forwarding4 {
            forwarding-entries {
            }
        }
    }
    interfaces {
        interface eth0 {
            description: "Ethernet Interface #1"
            vif eth0 {
                address 192.168.2.1 {
                    prefix-length: 24
                    broadcast: 192.168.2.255
                }
            }
        }
        interface eth1 {
            description: "Ethernet Interface #2"
            vif eth1 {
                address 100.0.0.1 {
                    prefix-length: 8
                    broadcast: 100.255.255.255
                }
            }
        }
    }

[edit]
labo at DOL2400#

And when I start this configuration, here is the rtrmgr log:
labo at DOL2400:~/src/xorp/xorp-1.5/rtrmgr$ sudo xorp_rtrmgr -b
/etc/xorp/config-xorp.sav
[sudo] password for labo:
[ 2008/10/06 14:22:31  INFO xorp_rtrmgr:17929 RTRMGR +239
master_conf_tree.cc execute ] Changed modules: interfaces, fea, rib, policy,
static_routes
[ 2008/10/06 14:22:31  INFO xorp_rtrmgr:17929 RTRMGR +96 module_manager.cc
execute ] Executing module: interfaces (fea/xorp_fea)
[ 2008/10/06 14:22:32 INFO xorp_fea MFEA ] MFEA enabled
[ 2008/10/06 14:22:32 INFO xorp_fea MFEA ] CLI enabled
[ 2008/10/06 14:22:32 INFO xorp_fea MFEA ] CLI started
[ 2008/10/06 14:22:32 INFO xorp_fea MFEA ] MFEA enabled
[ 2008/10/06 14:22:32 INFO xorp_fea MFEA ] CLI enabled
[ 2008/10/06 14:22:32 INFO xorp_fea MFEA ] CLI started
[ 2008/10/06 14:22:33  INFO xorp_rtrmgr:17929 RTRMGR +96 module_manager.cc
execute ] Executing module: fea (fea/xorp_fea)
[ 2008/10/06 14:22:39  INFO xorp_rtrmgr:17929 RTRMGR +96 module_manager.cc
execute ] Executing module: rib (rib/xorp_rib)
[ 2008/10/06 14:22:41  INFO xorp_rtrmgr:17929 RTRMGR +96 module_manager.cc
execute ] Executing module: policy (policy/xorp_policy)
[ 2008/10/06 14:22:43  INFO xorp_rtrmgr:17929 RTRMGR +96 module_manager.cc
execute ] Executing module: static_routes (static_routes/xorp_static_routes)
[ 2008/10/06 14:22:45  INFO xorp_rtrmgr:17929 RTRMGR +2228 task.cc
run_task ] No more tasks to run
[ 2008/10/06 14:23:51  INFO xorp_rtrmgr:17929 RTRMGR +96 module_manager.cc
execute ] Executing module: mfea4 (fea/xorp_fea)
[ 2008/10/06 14:23:51 INFO xorp_fea MFEA ] Interface added: Vif[eth0]
pif_index: 3 vif_index: 0 addr: 192.168.2.1 subnet: 192.168.2.0/24
broadcast: 192.168.2.255 peer: 0.0.0.0 Flags: MULTICAST BROADCAST
UNDERLYING_VIF_UP MTU: 1500
[ 2008/10/06 14:23:51 INFO xorp_fea MFEA ] Interface added: Vif[eth1]
pif_index: 2 vif_index: 1 addr: 100.0.0.1 subnet: 100.0.0.0/8 broadcast:
100.255.255.255 peer: 0.0.0.0 Flags: MULTICAST BROADCAST UNDERLYING_VIF_UP
MTU: 1500
[ 2008/10/06 14:23:51  ERROR xorp_fea:17930 MFEA +765 mfea_mrouter.cc
start_mrt ] setsockopt(MRT_INIT, 1) failed: Address already in use
[ 2008/10/06 14:23:51 INFO xorp_fea MFEA ] MFEA started
[ 2008/10/06 14:23:51  INFO xorp_rtrmgr:17929 RTRMGR +96 module_manager.cc
execute ] Executing module: igmp (mld6igmp/xorp_igmp)
[ 2008/10/06 14:23:51  WARNING xorp_rtrmgr:17929 XrlFinderTarget +406
../xrl/targets/finder_base.cc handle_finder_0_2_resolve_xrl ] Handling
method for finder/0.2/resolve_xrl failed: XrlCmdError 102 Command failed
Target "IGMP" does not exist or is not enabled.
[ 2008/10/06 14:23:51 INFO xorp_igmp MLD6IGMP ] Protocol enabled
[ 2008/10/06 14:23:51 INFO xorp_igmp MLD6IGMP ] CLI enabled
[ 2008/10/06 14:23:51 INFO xorp_igmp MLD6IGMP ] CLI started
[ 2008/10/06 14:23:52 INFO xorp_igmp MLD6IGMP ] Protocol started
[ 2008/10/06 14:23:52 INFO xorp_igmp MLD6IGMP ] Interface added: Vif[eth0]
pif_index: 3 vif_index: 0 addr: 192.168.2.1 subnet: 192.168.2.0/24
broadcast: 192.168.2.255 peer: 0.0.0.0 Flags: MULTICAST BROADCAST
UNDERLYING_VIF_UP MTU: 1500
[ 2008/10/06 14:23:52 INFO xorp_igmp MLD6IGMP ] Interface added: Vif[eth1]
pif_index: 2 vif_index: 1 addr: 100.0.0.1 subnet: 100.0.0.0/8 broadcast:
100.255.255.255 peer: 0.0.0.0 Flags: MULTICAST BROADCAST UNDERLYING_VIF_UP
MTU: 1500
[ 2008/10/06 14:23:53 INFO xorp_igmp MLD6IGMP ] Interface enabled: Vif[eth0]
pif_index: 3 vif_index: 0 addr: 192.168.2.1 subnet: 192.168.2.0/24
broadcast: 192.168.2.255 peer: 0.0.0.0 Flags: MULTICAST BROADCAST
UNDERLYING_VIF_UP MTU: 1500 DOWN IPv4 ENABLED
[ 2008/10/06 14:23:53 INFO xorp_igmp MLD6IGMP ] Interface started: Vif[eth0]
pif_index: 3 vif_index: 0 addr: 192.168.2.1 subnet: 192.168.2.0/24
broadcast: 192.168.2.255 peer: 0.0.0.0 Flags: MULTICAST BROADCAST
UNDERLYING_VIF_UP MTU: 1500 UP IPv4 ENABLED
[ 2008/10/06 14:23:53  INFO xorp_rtrmgr:17929 RTRMGR +2228 task.cc
run_task ] No more tasks to run
[ 2008/10/06 14:23:53 TRACE xorp_igmp MLD6IGMP ] RX
IGMP_V2_MEMBERSHIP_REPORT from 192.168.2.1 to 224.0.0.2 on vif eth0
[ 2008/10/06 14:23:53 TRACE xorp_igmp MLD6IGMP ] Notify routing add
membership for (0.0.0.0, 224.0.0.2) on vif eth0
[ 2008/10/06 14:23:53 TRACE xorp_igmp MLD6IGMP ] RX
IGMP_V2_MEMBERSHIP_REPORT from 192.168.2.1 to 224.0.0.22 on vif eth0
[ 2008/10/06 14:23:53 TRACE xorp_igmp MLD6IGMP ] Notify routing add
membership for (0.0.0.0, 224.0.0.22) on vif eth0
[ 2008/10/06 14:23:53 TRACE xorp_igmp MLD6IGMP ] RX IGMP_MEMBERSHIP_QUERY
from 192.168.2.1 to 224.0.0.1 on vif eth0
[ 2008/10/06 14:23:54 TRACE xorp_igmp MLD6IGMP ] RX
IGMP_V2_MEMBERSHIP_REPORT from 192.168.2.2 to 224.0.0.251 on vif eth0
[ 2008/10/06 14:23:54 TRACE xorp_igmp MLD6IGMP ] Notify routing add
membership for (0.0.0.0, 224.0.0.251) on vif eth0
[ 2008/10/06 14:23:58 TRACE xorp_igmp MLD6IGMP ] RX
IGMP_V2_MEMBERSHIP_REPORT from 192.168.2.1 to 224.0.0.2 on vif eth0
[ 2008/10/06 14:23:59 TRACE xorp_igmp MLD6IGMP ] RX
IGMP_V2_MEMBERSHIP_REPORT from 192.168.2.1 to 224.0.0.22 on vif eth0
[ 2008/10/06 14:24:24 TRACE xorp_igmp MLD6IGMP ] TX IGMP_MEMBERSHIP_QUERY
from 192.168.2.1 to 224.0.0.1
[ 2008/10/06 14:24:24 TRACE xorp_igmp MLD6IGMP ] RX IGMP_MEMBERSHIP_QUERY
from 192.168.2.1 to 224.0.0.1 on vif eth0
[ 2008/10/06 14:24:26 TRACE xorp_igmp MLD6IGMP ] RX
IGMP_V2_MEMBERSHIP_REPORT from 192.168.2.2 to 224.0.0.251 on vif eth0
[ 2008/10/06 14:24:30 TRACE xorp_igmp MLD6IGMP ] RX
IGMP_V2_MEMBERSHIP_REPORT from 192.168.2.1 to 224.0.0.2 on vif eth0
[ 2008/10/06 14:24:32 TRACE xorp_igmp MLD6IGMP ] RX
IGMP_V2_MEMBERSHIP_REPORT from 192.168.2.1 to 224.0.0.22 on vif eth0



Then I start sending IGMP Report message to group multicast address on the
eth0:

labo at DOL2400:~/etc/xorp$ sudo  tcpdump -i eth0 -n -vvv
[sudo] password for labo:
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96
bytes
15:53:14.959119 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP
(2), length 32, options (RA)) 192.168.2.2 > 239.7.7.7: igmp v2 report
239.7.7.7
15:53:22.593183 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP
(2), length 32, options (RA)) 192.168.2.2 > 239.7.7.7: igmp v2 report
239.7.7.7
15:53:27.873692 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP
(2), length 32, options (RA)) 192.168.2.2 > 239.7.7.7: igmp v2 report
239.7.7.7
15:53:57.049679 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP
(2), length 32, options (RA)) 192.168.2.2 > 224.0.0.2: igmp leave 239.7.7.7
15:53:59.061554 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP
(2), length 32, options (RA)) 192.168.2.2 > 239.7.7.7: igmp v2 report
239.7.7.7
15:53:59.446758 IP (tos 0xc0, ttl 1, id 31304, offset 0, flags [none], proto
IGMP (2), length 32, options (RA)) 192.168.2.1 > 224.0.0.1: igmp query v2
15:54:00.874230 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP
(2), length 32, options (RA)) 192.168.2.1 > 224.0.0.251: igmp v2 report
224.0.0.251
15:54:04.947704 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP
(2), length 32, options (RA)) 192.168.2.2 > 239.7.7.7: igmp v2 report
239.7.7.7
15:54:06.242220 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP
(2), length 32, options (RA)) 192.168.2.1 > 224.0.0.2: igmp v2 report
224.0.0.2
15:54:09.086227 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP
(2), length 32, options (RA)) 192.168.2.1 > 224.0.0.22: igmp v2 report
224.0.0.22
15:54:26.153357 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP
(2), length 32, options (RA)) 192.168.2.2 > 224.0.0.2: igmp leave 239.7.7.7
15:54:33.163695 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP
(2), length 32, options (RA)) 192.168.2.2 > 239.7.7.7: igmp v2 report
239.7.7.7
15:54:41.247102 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP
(2), length 32, options (RA)) 192.168.2.2 > 239.7.7.7: igmp v2 report
239.7.7.7
15:54:41.654394 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP
(2), length 32, options (RA)) 192.168.2.2 > 239.7.7.7: igmp v2 report
239.7.7.7
15:54:53.184916 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP
(2), length 32, options (RA)) 192.168.2.2 > 224.0.0.2: igmp leave 239.7.7.7
15:55:09.221425 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP
(2), length 32, options (RA)) 192.168.2.2 > 239.7.7.7: igmp v2 report
239.7.7.7
15:55:11.918001 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP
(2), length 32, options (RA)) 192.168.2.2 > 239.7.7.7: igmp v2 report
239.7.7.7
15:55:12.668454 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP
(2), length 32, options (RA)) 192.168.2.2 > 224.0.0.2: igmp leave 239.7.7.7
15:55:16.833821 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP
(2), length 32, options (RA)) 192.168.2.2 > 224.7.7.7: igmp v2 report
224.7.7.7
15:55:16.973124 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP
(2), length 32, options (RA)) 192.168.2.2 > 224.7.7.7: igmp v2 report
224.7.7.7
15:55:23.657583 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP
(2), length 32, options (RA)) 192.168.2.2 > 224.7.7.7: igmp v2 report
224.7.7.7

21 packets captured
21 packets received by filter
0 packets dropped by kernel


But my Linux Xorp Router doesn't want to take my group add membership to
239.7.7.7 or 224.7.7.7

labo at DOL2400:~/etc/xorp$ netstat -gn
IPv6/Adhésions au groupe IPv4
Interface       RefCnt Group
--------------- ------ ---------------------
lo              1      224.0.0.1
eth1            1      224.0.0.251
eth1            1      224.0.0.1
eth0            1      224.0.0.22
eth0            1      224.0.0.2
eth0            1      224.0.0.251
eth0            2      224.0.0.1
lo              1      ff02::1
eth1            1      ff02::1:ff58:c5f3
eth1            1      ff02::1
eth0            1      ff02::1:ff4b:2d00
eth0            1      ff02::1

labo at DOL2400> show igmp group
Interface    Group           Source          LastReported Timeout V State
eth0         224.0.0.2       0.0.0.0         192.168.2.1      180 2     E
eth0         224.0.0.22      0.0.0.0         192.168.2.1      183 2     E
eth0         224.0.0.251     0.0.0.0         192.168.2.1      174 2     E
labo at DOL2400> show igmp interface
Interface    State    Querier         Timeout Version Groups
eth0         UP       192.168.2.1        None       2      3
eth1         DISABLED 100.0.0.1          None       2      0
labo at DOL2400>


Is there any configuration to do on the Xorp Router or in Linux
configuration?

Many thanks for your advise.

Regards,
Leonard



More information about the Xorp-users mailing list