This is the interface for a Software-Defined Network system, based on the model developed by Politecnico di Torino University.
- 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
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
git clone https://github.com/xose-aka/sdn_interface.git
cd sdn_interface
-
Enter model endpoints folders
cd intent_model_endpoints
-
Set Gemini key
-
Create
.env
filegedit .env
-
Set key into the
.env
fileGEMINI_API_KEY="XXXXXX"
-
-
Setup venv
-
Create venv
Use python 3.12 version or higher
python3.12 -m venv venv
-
Activate venv
source venv/bin/activate
-
Install requirements
pip install -r requirements.txt
-
Run app
python run.py
-
-
Go back and enter ryu manager endpoints folders
cd ../ryu_endpoints
-
Setup venv
-
Create venv
Use python 3.9 version
python3.9 -m venv venv
-
Activate venv
source venv/bin/activate
-
Install requirements
pip install -r requirements.txt
-
Run app
python run.py
-
-
Go back and enter mininet service folders
cd ../mininet_service
-
Setup venv
-
Create venv
Use python 3.12 version or higher
python3.12 -m venv venv
-
Activate venv
source venv/bin/activate
-
Install requirements
pip install -r requirements.txt
-
Run app
Run with
sudo
asmininet
must be run with super user privilegessudo venv/bin/python run.py
-
-
Go to repository root folder then enter intent client folder
cd intent_client
-
Setup packages
npm install
-
Build project
npm run build
-
Run project
npx serve -s dist
-
Enter the application
Go to browser and open link
http://localhost:3000