Skip to content

REST APIs For FRRouting (Open Source Routing Project) which is built with Python, Shell Scripting, Django and SQLite”

Notifications You must be signed in to change notification settings

Omidznlp/REST-API-FRRouting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Configuration, Installation, RUN and Test REST APIs

Description

FRRouting (FRR) is a free and open source Internet routing protocol suite for Linux and Unix platforms. It implements BGP, OSPF, RIP, IS-IS, PIM, LDP, BFD, Babel, PBR, OpenFabric and VRRP, with alpha support for EIGRP and NHRP https://frrouting.org/ .

This project is implemented to add REST APIs to FRRouting. Moreover, it supports some protocols such as:
OSPF
BGP
RIP
STATIC
Policy Based Routing
Prefix-List
Access-List
Route-Map
The other protocoles will be supportted in the future.

Architecture

image012

Installation

Prerequisites

Frrouting must be installed from following link:
http://docs.frrouting.org/projects/dev-guide/en/latest/building-frr-for-ubuntu2004.html .
And then

$ git clone https://github.com/Omidznlp/REST-API-FRRouting.git
$ cd REST-API-FRRouting
$ sudo python3.8 manage.py makemigrations
$ sudo python3.8 manage.py createsuperuser --email admin@example.com --username admin
$ sudo python3.8 manage.py migrate
$ ./setup.sh

RUN and STOP

Run server

$ ./startup.sh <port number>

Exp:

$ ./startup.sh 8000

running server on port 8000
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
July 12, 2020 - 12:56:28
Django version 3.0.7, using settings 'src.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.

Kill server

$./kill.sh <port number>

Test

OSPF : ospf/README.md
BGP : bgp/README.md
RIP: rip/README.md
STATIC: static/README.md
Policy Routes includes PBR, Prefix-List, Access-List and Route-Map : policyroutes/README.md

Write Configuration

REST API methodes write current configuration to configuration file.\

Check Configuration

All REST APIs methods insert some commands into FRRouting. To make sure whether they are inserted into it or not!. We had better check the result of requests by running "show running-config" command in the following manner to approve the functionally of REST APIs.

$ sudo vtysh
test# show running-config
Building configuration...

Current configuration:
!
frr version 7.3.1-MyOwnFRRVersion
frr defaults traditional
hostname test
log syslog informational
no ip forwarding
no ipv6 forwarding
service integrated-vtysh-config
!
line vty
!
end

About

REST APIs For FRRouting (Open Source Routing Project) which is built with Python, Shell Scripting, Django and SQLite”

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published