[Xorp-users] A sample config.boot for linux to test pim part of xorp.

Pavlin Radoslavov pavlin@icir.org
Mon, 07 Jun 2004 13:08:34 -0700


> Le Monday 07 June 2004 18:38, Pavlin Radoslavov a écrit :
> > Can you verify by running "netstat -rn" that the Juniper router is
> > indeed the next-hop router toward those source addresses. For,
> > example, if the next-hop router is connected to, say, eth0 which is
> > not enabled for multicast routing then this is one possible reason
> > for the warning. Also, if "netstat -rn" indeed shows that the
> > Juniper router is the next-hop router, then can you use the
> > "show pim mrib" xorpsh operational command to verify whether PIM-SM
> > itself has learned about that route. Finally, you may want to look
> > into the "show pim join" output to check the (S,G) multicast routing
> > state.
> 
> Pavlin,
> My mistake, when i say that the next-hop 193.191.130.193 should be
> the juniper router i talk on the multicast point of view. So you right
> my default unicast route is through the eth0 as i want that unicast and 
> multicast traffic travel through different interface. As i have say in 
> previous post, the box acting as firewall. I want to disociate traffic on
> different interface because the firewall is on the same subnet as others
> BELNET server. And i doesn't want that multicast traffic pollute statistic of 
> unicast traffic of the servers (we are not able to use IGMP snooping on the 
> switch)
> 
> So there is a possibility to have on linux, different table for unicast and 
> multicast routing. What i mean here is there is a way to let multicast use
> other routing table to make RPF ? Does XORP permit this ?

Yes, there is a way to do this in XORP. The XORP RIB (Routing
Information Base) basically keeps two separate tables: one for
unicast routes, and one for multicast routes. The fib2mrib module
populates the multicast RIB table with the unicast routes from the
kernel.
However, you can modify the MRIB table by adding/overwriting values
by using static routes. To do that you need to add entries like:

protocols {
    static {
	mrib-route4 10.10.0.0/16 {
	    nexthop: 10.20.0.1
	}

	/* The default entry */
	mrib-route4 0.0.0.0/0 {
	    nexthop: 10.30.0.1
	}
    }
}


Sorry, I didn't know that you have a fancy setup like that so I
tried to keep the sample config file a bit simpler :)

> Also , i doen't know if this is the best way or if this is needed or if it is 
> completely silly do make this.
> 
> echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter

To the best of my knowledge, the purpose of rp_filter is for Reverse
Path Filtering: if it is set to 1, then the host/router will ignore
packets if they don't arrive on the reverse-path interface. For a
better description see
http://www.tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.kernel.rpf.html
Long time ago a fellow who was playing with GRE tunnels and PIM-SM
told me that "echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter" is
needed if you run PIM-SM over tunnels, but myself I haven't played
yet with that particular option to verify whether it is really
mandatory. If you want to avoid any unexpected behavior, then it may
be simpler if you indeed set rp_filter to 0.

Regards,
Pavlin