XORPGenerator.rb
XORPGenerator Class
External Methods
- printConfig(node)
-
Given the virtual topology defined by the experimenter (i.e., interrelated Node and Link objects), creates a XORP configuration file for running XORP in the UML instance on node. The output file is called xorp.cfg.
Internal Methods
- printFEA(node)
-
Prints the fea block of the XORP configuration. If Click IPv4 forwarding is disabled, the fea block turns on IPv4 forwarding in the UML kernel. If Click IPv4 forwarding is enabled, the fea block tells XORP how to connect to Click's telnet interface so that it can download entries to Click's forwarding table.
- printHeader(node)
-
Prints comments containing the node name and the date/time the configuration was generated.
- printIBGP(node)
-
If the node has been configured to run iBGP, prints the bgp block of the XORP configuration. Declares every other node configured to run iBGP as a peer, and configures the node as a route reflector if specified by the topology.
- printInterfaces(node)
-
Prints the interfaces block of the XORP configuration. Declares each network interface in UML and tells XORP to use the existing interface settings (i.e., those defined by the umlnet.cfg script).
- printOSPF(node)
-
If the node has been configured to run OSPF, prints the ospf4 block of the XORP configuration. Sets interface parameters for each virtual link terminating at the node; OSPF's hello-interval and router-dead-interval are tuned from the defaults to make OSPF respond more quickly to link failure. OSPF advertises a route to the /24 connected to UML's eth0 interface. It also advertises the configured static routes if the node is not also running iBGP.
- printPolicy(node)
-
Prints the policy block of the XORP configuration. This defines the rule used by iBGP and OSPF to advertise static routes.
- printStatic(node)
-
If the node is serving as a NAT egress to the PL-VINI/IIAS overlay, prints the static block of the XORP configuration. This block says that the NAT'ed destinations can be reached by sending packets through eth1. Click pushes these packets through some NAT elements and out onto the network.

