Skip to content

This is the interface for a Software-Defined Network system, based on the model developed by Politecnico di Torino University.

Notifications You must be signed in to change notification settings

xose-aka/sdn_interface

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Polito logo

SDN Interface

Node Current PyPI - Python Version language language

This is the interface for a Software-Defined Network system, based on the model developed by Politecnico di Torino University.

Requirements

System Requirements

  • Operating System: Ubuntu 20.04+ or any other distributions
  • Python: two python versions needed 3.9 and 3.12
  • Memory: At least 1 GB RAM
  • Disk Space: At least 2 GB free

Dependencies

Install the following system packages(python3.9 and python3.10+):

Add python 3.9 repository

    sudo add-apt-repository ppa:deadsnakes/ppa  
    sudo apt update
    sudo apt install -y python3.9 python3.9-venv python3.9-dev python3.12 python3.12-venv python3.12-dev git curl build-essential mininet

Install node 20 and npm to run vite react client:

 curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
 sudo apt install -y nodejs

Installation

Clone the Repository

 git clone https://github.com/xose-aka/sdn_interface.git
 cd sdn_interface

Setup model endpoint

  1. Enter model endpoints folders

    cd intent_model_endpoints
  2. Set Gemini key

    1. Create .env file

       gedit .env
    2. Set key into the .env file

       GEMINI_API_KEY="XXXXXX"
  3. Setup venv

    1. Create venv

      Use python 3.12 version or higher

       python3.12 -m venv venv
    2. Activate venv

       source venv/bin/activate
    3. Install requirements

       pip install -r requirements.txt
    4. Run app

       python run.py

Setup ryu manager endpoints

  1. Go back and enter ryu manager endpoints folders

     cd ../ryu_endpoints
  2. Setup venv

    1. Create venv

      Use python 3.9 version

       python3.9 -m venv venv
    2. Activate venv

      source venv/bin/activate
    3. Install requirements

       pip install -r requirements.txt
    4. Run app

       python run.py

Setup mininet service

  1. Go back and enter mininet service folders

     cd ../mininet_service
  2. Setup venv

    1. Create venv

      Use python 3.12 version or higher

       python3.12 -m venv venv
    2. Activate venv

       source venv/bin/activate
    3. Install requirements

       pip install -r requirements.txt
    4. Run app

      Run with sudo as mininet must be run with super user privileges

       sudo venv/bin/python run.py

Setup intent client

  1. Go to repository root folder then enter intent client folder

     cd intent_client
  2. Setup packages

     npm install
  3. Build project

     npm run build
  4. Run project

     npx serve -s dist
  5. Enter the application

    Go to browser and open link http://localhost:3000

About

This is the interface for a Software-Defined Network system, based on the model developed by Politecnico di Torino University.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published