[Xorp-users] Complex BGP. mBGP and PIM-SM setup

Otto Solares solca at guug.org
Fri Jun 23 01:12:55 PDT 2006


Hi again again! :)

I have this complex setup in Debian sarge for
my University (In Guatemala so no budget for
Cisco/Juniper routers):

If	IP address	Purpose
--	----------	-------
eth0	10.0.0.1/24	Internal LAN
eth1	10.0.1.1/24	Internal LAN
eth2	172.16.0.1/16	Internal LAN
eth3	192.168.0.1/24	Internal LAN
eth3.2	192.168.2.1/24	Internal LAN (VLAN)
eth3.3	192.168.3.1/24	Internal LAN (VLAN)
eth3.4	192.168.4.1/24	Internal LAN (VLAN)
eth3.5	192.168.5.1/24	Internal LAN (VLAN)
eth3.6	192.168.6.1/24	Internal LAN (VLAN)
eth3.7	192.168.7.1/24	Internal LAN (VLAN)
eth3.8	192.168.8.1/24	Internal LAN (VLAN)
eth3.9	192.168.9.1/24	Internal LAN (VLAN)
eth3.10	192.168.10.1/24	Internal LAN (VLAN)
eth3.15	192.168.15.1/24	Internal LAN (VLAN)
eth4	10.0.2.1/24	Internal LAN
eth5	<not assigned>	(unused)
eth6	10.10.26.7/28	External to Internet2
eth7	<public IP>*	External to Internet

* eth7 have 120+ assigned IPv4 address for NATing
  internal hosts.

I am using Xorp for 3 purposes:

1. BGP/mBGP with peer in eth6 for connecting to
   Internet2.
2. IGMP tracking for my internal hosts.
3. PIM-SM (multicast) for my internal hosts and
   for Internet2.

BGP/mBGP works, I obtain more than 9000 routes.
IGMP and PIM-SM in my internal LANs works as
expected, I can stream to a multicast address
and any host from any internal LAN can 'see'
the stream if he join it.

Now my problems:

a. My next-hop router for Internet2 is Linux too
   and there is no MSDP implementation for Linux
   I choose to use the next-next router (Cisco) as
   my RP in PIM-SM.  But when sniffing the wire my
   box is sending PIM-register to the Cisco (via
   eth6) but with the source-address as 10.0.0.1
   (eth0) so is possible to change this address
   ala 'local-ip' parameter?

b. As you can see all my internal hosts run private
   IPv4 addresses and I NAT them for both normal
   Internet and Internet2 which works ok but what
   if they want to stream something, I know Cisco
   could NAT multicast traffic, do you know of any
   solution for Linux?

c. I want to export to my next router via BGP my
   public Internet CIDR so I have this but it
   doesn't work (quagga do export it correctly
   but problem with quagga is that it doesn't
   handle PIM so I have to pair it with pimd which
   is not as good as Xorp for tracking IGMP and
   it has lot less parameters to tune):

   policy {
   	policy-statement to-bgp {
		term export {
			from {
				protocol: "connected"
				network4: <public_cidr>
			} to {
				neighbor: 10.10.26.14
			} then {
				accept
			}
		}
	}
   }

   bgp {
	export: "to-bgp"

	bgp-id: 10.10.26.7
	local-as: 65103

	peer 10.10.26.14 {
		local-ip: 10.10.26.7
		as: 65103
		next-hop: 10.10.26.7

		ipv4-unicast: true
		ipv4-multicast: true
	}
   }

I know this setup is extreme but I'm pretty sure
it is a good test bed for Xorp as is a real world
implementation.  Thanks for the help!

-otto



More information about the Xorp-users mailing list