Software Networking


This course introduces the concept of “softwarized network,” i.e., novel network infrastructures in which the software plays an increasingly important role. Course topics include “traditional” software networking components such as the ones running in the control plane (in particular routing protocols), programmable data planes, and novel paradigms such as SDN/NFV and network orchestration. Finally, it will present the Linux networking stack, which is increasingly important due to the massive usage of this operating system in virtualized environments.

The course is taught in Italian, although most of the documentation is in English.

This course is available to all Computer Engineering (master-level degree) students at Politecnico di Torino. This site refers to Academic Year 2019/2020.


General knowledge about computer networks. Detailed knowledge about the IP protocol and the most important protocols of the TCP/IP suite. Capability to design IP networks and to manage static routing. Capability to analyze network traffic, particularly with respect to the most important protocols of the TCP/IP suite. Basic knowledge on computer architecture and operating systems.


The course is taught by Fulvio Risso and Marco Iorio.

Class recordings

Lectures of this class are registered and made available on the official teaching portal at Politecnico di Torino. Recordings are available only to enrolled students. Recording are made in a “best effort” way; some class recordings may not be available due to technical problems (e.g., a crash in professor's laptop) or for copyright problems (e.g., seminars given from non-Polito people).

Lab and exercises

This course includes four labs, focusing on the most important topics presented in the lectures. Routing labs will include configuration and troubleshooting of network devices, which is useful to understand how routing protocols react to external solicitations. Software labs will include creation of basic packet processing software (e.g., inspection of HTTP traffic) and service chains.

In addition, some exercises are available focusing on the most important topics of the course.

Labs and homework are optional but strongly encouraged. In our experience, homework and labs represent a key helper to pass (successfully) the exam. Please note that the exam often includes some questions related to the lab exercises.

Personal projects

Students with high average mark (>27/30) can ask to replace the exam with a special project. The project can focus either on research topics, or some teaching support activities. In most cases it requires a short presentation (30 mins) in which the student discusses the achieved results.

List of possible topics:

  • Securing the Polycube network software framework with automatic code analysis (e.g., Coverity) (NOT ASSIGNED; Tutor: Fulvio Risso)
  • Integrating monitoring primitives in the Polycube network provider for Kubernetes (Student: Giuseppe Ognibene, s257957; Tutor: Alex Palesandro)
  • Benchmarking network plugins for Kubernetes under different topologies and network workloads (Stefano Galantino, s255314;Tutor: Alex Palesandro)
  • Configuration and initial setup of a white-label OpenFlow switch with the open-source operating system Microsoft SONiC (Simone Magnani, s265171; Tutors: Fulvio Risso, Marco Iorio)
  • Enhanced packet capture with eBPF: integrating the service chain capabilities of Polycube with the packet capture capabilities of tcpdump (Riccardo Rusca, s262737; Tutor: Fulvio Risso)
  • Automatic translation of P4 services for Polycube services (Riccardo Marchi, s265140; Tutor: Sebastiano Miano)
  • eBPF-based front-end load balancer for Kubernetes services (Hamza Rhaouati, s267610; Tutor: Fulvio Risso, Alex Palesandro)


Exam usually includes a variable mix of exercises, open-answer questions, and closed-answer questions. The texts of the previous exams are not available; student can be confident that exercises and questions are similar to the ones already given as part of the learning material.

Students whose grade exceeds a given threshold have the possibility to ask for an additional oral examination. This consists in one question, whose outcome can improve or worsen the grade of the written examination.

More details about exam rules are available in the slides presented at the beginning of the course.


Unfortunately no textbook is available for this course due to the novelty of the topics covered in this subject.