WorksNicolò FadigàProject sheetSwitch to the Italian versionEN
Networking systems · Course project

Intent-based Networking

2025

Managing an SDN in plain language: the administrator states the goal and the system generates and runs the topology and controller code.

Intent-based Networking
Intent-based Networking

The project

Configuring a software-defined network means writing scripts: one for the topology, one for the controller, and rewriting them on every change. The idea here is to move the interaction up a level: the administrator states an intent — "connect three hosts to a switch", "block traffic between these two hosts", "measure the latency" — and the system handles the translation into code.

The processing chain runs in two passes. The first classifies the request into one of the supported intents, each with its own prompt shaping the response structure; the model replies in JSON with the recognised intent, parameters and suggested code. The second pass, informed by the topology already running, produces the actual Python file, which is saved and launched.

The intents cover topology creation and modification, latency measurement, controller rules and recovery. Modification is the interesting case: the system reads the existing network, regenerates the complete file with the requested changes, terminates the running topology and restarts it updated.

The Ryu controller is not static. A base class handles MAC learning, the ARP table and basic topology discovery, and the model generates or edits the parts needed to install the flow rules the intent calls for.

It all lives inside a three-pane tmux session set up by a bash script: the chat on the left, Mininet and the controller on the right, so the effect of each command is visible as it happens. A separate module handles diagnosis and recovery of network faults.

Intent-based Networking
(02)Intent-based Networking