[Xorp-users] IPv4 PIM-SM and SSM (was Xorp debug messages)
Martin Hoffmann
mh5942@bris.ac.uk
Wed, 08 Mar 2006 17:04:39 +0000
Hi all,
I solved my problem regarding the Hello messages. I set up a new
machine, running Xorp-1.2-RC and a properly configured 2.6.10 kernel.
Xorp and Click now successfully exchange PIM Hello messages.
I'd like to built a Source Path Tree now. My testbed look like this:
IGMPv3 Receiver <-> Click router <-> Xorp router <-> Sender
1. The sender sends a (S,G) stream to the Xorp router
As a result, "show pim mfc" and "show pim join" return the following lines:
martin@ubuntu> show pim mfc
Group Source RP
232.2.2.2 192.168.40.1 0.0.0.0
Incoming interface : eth1
Outgoing interfaces: ..O
martin@ubuntu> show pim join
Group Source RP Flags
232.2.2.2 192.168.40.1 RP_ADDR_UNKNOWN SG SPT DirectlyConnectedS
Upstream interface (S): eth1
Upstream interface (RP): UNKNOWN
Upstream MRIB next hop (RP): UNKNOWN
Upstream MRIB next hop (S): UNKNOWN
Upstream RPF'(S,G): UNKNOWN
Upstream state: Joined
Register state: RegisterJoin RegisterCouldRegister
Join timer: 4
KAT(S,G) running: true
Local receiver include WC: ...
Local receiver include SG: ...
Local receiver exclude SG: ...
Joins RP: ...
Joins WC: ...
Joins SG: ..O
Join state: ..O
Prune state: ...
Prune pending state: ...
I am assert winner state: ...
I am assert loser state: ...
Assert winner WC: ...
Assert winner SG: ...
Assert lost WC: ...
Assert lost SG: ...
Assert lost SG_RPT: ...
Assert tracking SG: O.O
Could assert WC: ...
Could assert SG: ..O
I am DR: O.O
Immediate olist RP: ...
Immediate olist WC: ...
Immediate olist SG: ..O
Inherited olist SG: ..O
Inherited olist SG_RPT: ...
PIM include WC: ...
PIM include SG: ...
PIM exclude SG: ...
Is that ok so far?
2. The IGMPv3 receiver sends an "Include" report to the Click router and
requests an (S,G) stream. The Click routers adds this information to its
forwarding cache. A PIM join message is generated and sent to the Xorp
router.
2.1 I used the PIM neighbors unicast address to sent the PIM join
message to. This is mentioned in section 4.3.4 and 4.5.3 in
draft-ietf-pim-sm-v2-new-11.txt.
Xorp complains and asks for a multicast address.
[ 2006/03/08 16:28:57 WARNING xorp_pimsm4 PIM ] RX PIM_JOIN_PRUNE from
192.168.30.6 to 192.168.30.2 on vif eth2: destination must be multicast
2.2 Sending the PIM join message to the group address (232.2.2.2 in this
case) does not work either.
Xorp adds an entry to its MFC, the Join/Prune message is not reckognised.
martin@ubuntu> show pim mfc
Group Source RP
232.2.2.2 192.168.30.6 0.0.0.0
Incoming interface : eth2
Outgoing interfaces: ...
The PIM join message format is (tethereal output):
-----
Frame 4 (72 bytes on wire, 72 bytes captured)
Arrival Time: Mar 8, 2006 16:39:59.819030000
Time delta from previous packet: 0.009573000 seconds
Time since reference or first frame: 0.121406000 seconds
Frame Number: 4
Packet Length: 72 bytes
Capture Length: 72 bytes
Protocols in frame: eth:ip:pim
Ethernet II, Src: 00:30:48:52:fe:b3, Dst: 00:09:5b:e4:23:7a
Destination: 00:09:5b:e4:23:7a (192.168.30.2)
Source: 00:30:48:52:fe:b3 (192.168.30.6)
Type: IP (0x0800)
Internet Protocol, Src Addr: 192.168.30.6 (192.168.30.6), Dst Addr:
232.2.2.2 (232.2.2.2)
Version: 4
Header length: 24 bytes
Differentiated Services Field: 0xc0 (DSCP 0x30: Class Selector 6;
ECN: 0x00)
1100 00.. = Differentiated Services Codepoint: Class Selector 6
(0x30)
.... ..0. = ECN-Capable Transport (ECT): 0
.... ...0 = ECN-CE: 0
Total Length: 58
Identification: 0xf45f (62559)
Flags: 0x00
0... = Reserved bit: Not set
.0.. = Don't fragment: Not set
..0. = More fragments: Not set
Fragment offset: 0
Time to live: 1
Protocol: PIM (0x67)
Header checksum: 0x6686 (correct)
Source: 192.168.30.6 (192.168.30.6)
Destination: 232.2.2.2 (232.2.2.2)
Options: (4 bytes)
Router Alert: Every router examines packet
Protocol Independent Multicast
Version: 2
Type: Join/Prune (3)
Checksum: 0x1c60 (correct)
PIM parameters
Upstream-neighbor: 192.168.30.6
Groups: 1
Holdtime: 65535 (infty)
Group 0: 232.2.2.2/32
Join: 1
IP address: 192.168.40.1/32 (SW)
Prune: 0
-----
2.3 draft-ietf-pim-sm-v2-new-11.txt mentions 0.0.0.0 as a valid
destination address, see section 4.5.3. This did not work on Xorp.
2.4 My last try was to send the Join message to 224.0.0.13, the PIM
routers' address.
As a result I get the following line:
[ 2006/03/08 16:55:17 WARNING xorp_pimsm4 PIM ] RX PIM_JOIN_PRUNE from
192.168.30.6 to 224.0.0.13: invalid source/RP flags for (192.168.40.1,
232.2.2.2): 0x6
I'm not sure where to continue now, any suggestions and explanation is
highly appreciated.
Thank you so far,
Martin