A virtualised environment for packaging rpsl4j and testing/developing against OpenDaylight Lithium and Quagga bgpd.
The environment is built on a VirtualBox backed CentOS 6.6 Vagrant box and is configured using Puppet.
vagrant up
vagrant ssh
~/start-tmux.sh
This will start up a new tmux
session running Opendaylight and bgpd. The VM has 2 private network interfaces, one for bgpd and the other for OpenDaylight. bgpd listens on 172.31.0.2 as AS1 and will attempt to connect to OpenDaylight on 172.31.1.2 as AS2.
OpenDaylight Lithium is installed during the provision process and can be started by executing ~/start-tmux.sh
or sudo /opt/opendaylight/bin/karaf
To enable the BGP and RESTconf modules:
- Start OpenDaylight by starting the karaf console (see above)
- Install the BGP feature by executing
feature:install odl-bgpcep-bgp-all
in the karaf console. (to view all available features, executefeature:list
) - Install the RESTconf feature by executing
feature:install odl-restconf-all
. RESTconf will listen on port 8181 and will be forwarded to the same port on the host by VirtualBox. - (OPTIONAL) Disable authentication for RESTconf by executing the following:
config:edit org.opendaylight.aaa.authn
config:property-set authEnabled false
config:update
- Configure the BGP module by editing the required configuration files. These can be enumerated by executing
feature:info odl-bgpcep-bgp-all
.- Refer to the rpsl4j-opendaylight documentation for instructions on generating a BGP configuration. A sample RPSL document for the environment is provided.
- Exit the karaf console (Ctrl+D) and reopen for changes to take effect.
- You should be able to see RESTconf and the BGP module listening by executing
sudo netstat -pnl | grep "8181\|BGP-PORT"
.
- You should be able to see RESTconf and the BGP module listening by executing
bpgd is installed during the provisioning phase and using a configuration file installed by Puppet.
The bgpd service can be manipulated using the service
as follows:
sudo service bgpd start/stop/restart/status
Once running you can connect to the command interface ($ telnet localhost 2605
) using the password: "password":
- OpenDaylight Lithium
- Quagga bgpd
- irrtoolset
- rpmbuild and rpmdevtools
- Maven
- Java 1.7 JDK
- tmux
Original content in this repository is licensed under the GNU Affero General Public License.