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 mininetInstall 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
.envfilegedit .env
-
Set key into the
.envfileGEMINI_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
sudoasmininetmust 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