[Xorp-users] Xorp on Ubuntu 10.04 (OpenVZ)

Abhinava Sadasivarao abhinava.sadasivarao at gmail.com
Tue Feb 7 21:03:16 PST 2012


Hello,

I am quite new to Xorp and got interested after reading the HotNets '02
paper. I am trying to perform a few experiments and wanted to try Xorp out. 

I compiled Xorp 1.8.5 from source on Ubuntu 10.04 running within a OpenVZ
VE. I had a few questions in general about Xorp and a few specific questions
about running Xorp within a virtualized setting.

# uname -rvo
2.6.32.14-ovz32 #1 SMP Mon Jan 30 13:21:07 EST 2012 i686 GNU/Linux

After going through the getting_started wiki and the user manual, I came to
a few conclusions. For now, I'm just trying to set up an extremely simple
network similar to the following:


 ---------------------
----------------------------------------------------
---------------------
|       (Host 1)         |                 |============
================|                 |        (Host 2)          |
|   10.12.1.5/24    |<------->|      10.12.1.2        |          |
10.12.2.2            |<------->|    10.12.2.5/24      |
|                                |                 | (10.12.1.0/24)   |
|     (10.12.2.0/24)      |                 |
|
|____________|                 |============|         ================|
|____________|
                                                      |__________XORP
ROUTER___________|

I have an eth0 (10.12.1.2) and eth1 (10.12.2.2) on Xorp router

Attempting to ping or traceroute from Host 1 to Host 2 and see if the
packets travel from Host 1 -> 10.12.1.0/24 iface -> 10.12.2.0/24 iface ->
Host 2

My xorp config file looks like this (skipping the rtrmgr section):

protocols {
    fib2mrib {
        disable: true
    }

    static {
        disable: false
        route 10.12.1.0/24 {
            next-hop: 10.12.1.2
            metric: 1
        } 
        route 10.12.2.0/24 {
            next-hop: 10.12.2.2
            metric: 1
        }
    }
}

fea {
    unicast-forwarding4 {
        disable: false
    }
    unicast-forwarding4 {
        disable: true
    }
}

interfaces {
    restore-original-config-on-shutdown: true
    interface eth0 {
        description: "10.12.1.0/24 subnet"
        disable: false
        discard: false
        unreachable: false
        management: false
        vif eth0 {
            disable: false
            address 10.12.1.2 {
                prefix-length: 24
                broadcast: 10.12.1.255
                disable: false
            }
        }
    }
    interface eth1 {
        description: "10.12.2.0/24 subnet"
        disable: false
        discard: false
        unreachable: false
        management: false
        vif eth1 {
            disable: false
            address 10.12.2.2 {
                prefix-length: 24
                broadcast: 10.12.2.255
                disable: false
            }
        }
    }
    interface lo {
        description: "Loopback"
        disable: false
        default-system-config
}

The question I have is when I start xorp, shouldn't it modify my linux ip
tables and install these static routes? With the above config, kernel
forwarding path must be used. I see nothing added at all when I execute "ip
route show". As a reason, if I ping Host 2 from Host 1, nothing really goes
through. 

Of course, all these nodes (Host 1,2 and router) are virtual containers and
I referred to http://wiki.openvz.org/Veth to create the [v]eth0 and [v]eth1
on the xorp container and I believe I have things setup properly. But still,
shouldn't xorp add routes to my linux route table? On my xorp container,
eth0 binds to 10.12.1.2 and eth1 to 10.12.2.2. Considering this, is the
static routing section in the config file correct?

Sorry for the verbiage but I think the picture will be incomplete without
the everything.



More information about the Xorp-users mailing list