View on GitHub

Netphony-topology

BGP-LS Speaker and Traffic Engineering Database

Download this project as a .zip file Download this project as a tar.gz file

netphony-topology v1.2.1

Netphony-topology is a BGP-LS Speaker and a Java based Traffic Engineering Database.

BGP-LS is used for distributing Network Topologies to external elments, for example, a Path Computation Element.

The BGP-LS speaker can be run as a standalone application, or as a module attached to other software.

Traffic Engineering Database

The traffic Engineering Database (TED) is a collection of nodes and links, each of them with Traffic Engineering Attributes. The TED has as an attribute a domain identifier and a network layer.

Compilation and use

The library can be built using the maven tool. Thus, all the dependencies are included in the pom.xml file. There is a Junit test included that performs the following tests:

To build the .jar file and run the tests, first you need to install the netphony-network-protocols (the upload process to maven central is in progress)

    git clone https://github.com/telefonicaid/netphony-network-protocols.git
    cd netphony-network-protocols
    git checkout tags/v1.2.1
    mvn package
    mvn install

Then, once the netphony-network-protocols is installed, you can proceed with the netphony-topology.

    cd ..
    git clone https://github.com/telefonicaid/netphony-topology.git
    cd netphony-topology
    mvn package
    mvn install

BGP-LS Speaker

The BGPPeer is the principal class to run a BGP Speaker. It represents a BGP4 peer. It launches the BGP connections with its peers and waits for incoming connections.

To run the BGP Peer as a standalone application use the class BGPPeerMain. You can use maven to create an autoexecutable jar that includes all dependencies in a single file. Plase be aware that if you use the real BGP port (179) you need to start as root.

    git clone https://github.com/telefonicaid/netphony-topology.git
    cd netphony-topology
    mvn clean compile assembly:single
    cd target
    sudo java -jar topology-1.2-jar-with-dependencies.jar 

Before running, you should configure the parameteres. The parameters are configured in an xml file. By default, if used with BGPPeerMain, or it is not specified a file name, BGP4Parameters.xml should be used. An example of the file is located in examples/BGP4Parameters.xml (and with the maven assembly build, it is copied in the target directory).

Configuration parameters

The parameters to be configured are: