Git Product home page Git Product logo

bgp-vpp's Introduction

VPP_Network_Img

bgp-vpp

A BGP Speaker implementation for Contiv-VPP

Please follow instructions in https://github.com/osrg/gobgp to get your off-the-shelf gobgp set up. Make sure to add the master node as a neighbor to the gateway.

Quagga Setup for the Gateway node

quagga

First, edit the gateway's off-the-shelf bbgpd.conf file to enable zebra feature:

[zebra]
    [zebra.config]
        enabled = true
        url = "unix:/var/run/quagga/zserv.api"
        redistribute-route-type-list = ["connect"]
        version = 2

Next, to set install quagga on the gateway do the following:

  $ sudo su //ensure that sudo is being used if you decide to not use this command to start
  # apt-get update
  # apt-get install quagga quagga-doc

Then, configure Quagga daemons by editing the file /etc/quagga/daemons to start the zebra daemon.

# nano /etc/quagga/daemons

Configure the deamons file as such:

zebra=yes
bgpd=no
ospfd=no
ospf6d=no
ripd=no
ripngd=no
isisd=no
babeld=no

Next, create config files for the zebra daemon. You can you the sample installed with quagga-doc:

# cp /usr/share/doc/quagga/examples/zebra.conf.sample /etc/quagga/zebra.conf
# chown quagga.quaggavty /etc/quagga/*.conf
# chmod 640 /etc/quagga/*.conf

Start Quagga:

# /etc/init.d/quagga start

Now you will need to run the gateway by using the command:

$ sudo -E ./gobgpd -f ./gobgpd.conf

You will also need to run the executable GoBGP that you create in GoLand to run bgp on the master:

$ go run main.go

Finally, check if your network is set up by viewing the routing table in the gateway using:

$ netstat -rn

An example of the Routing Table will appear as follows. The gateway node should learn the different CIDR subnets with the appropriate IP-VPP as the next hop.

routing_table_example

You will also be able to ping the connection.

#Referenced https://www.brianlinkletter.com/how-to-build-a-network-of-linux-routers-using-quagga/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.