The SRv6 “micro segment” (uSID for short) solution is an extension to the SRv6 Network Programming model. It allows expressing SRv6 segments with a very compact and efficient representation, for example using two bytes for uSID instead of using a normal IPv6 address (16 bytes) for a regular SRv6 segment. Our scientific papers on this topic are listed below.
In the context of the ROSE project, we have implemented the SRv6 uSID solution using the P4 language and realized a DEMO, illustrated in the following figure.
The demo runs on a mininet topology made up of eight P4 enabled switches (based on bmv2 P4 software implementation) and two hosts that represent Site A and Site B. The source code and the detailed instruction to run the demo are reported below.
P4 SRv6 uSID implementation source code and demo
https://github.com/netgroup/p4-srv6-usid
Reference IETF documents
“Network Programming extension: SRv6 uSID instruction” Internet Draft
“SRv6 Network Programming” Internet Draft
“IPv6 Segment Routing Header (SRH)” RFC 8754
Scientific papers
-
A. Abdelsalam, A. Tulumello, M. Bonola, S. Salsano, C. Filsfils,
“Pushing Network Programmability to the Limits with SRv6 uSID and P4”,
Demo Paper, 3rd P4 Workshop in Europe, EuroP4’20, 1 December 2020, Virtual Conference. -
A. Tulumello, A. Mayer, M. Bonola, P. Lungaroni, C. Scarpitta, S. Salsano, A. Abdelsalam, P. Camarillo, D. Dukes, F. Clad, C. Filsfils,
“Micro SIDs: a solution for Efficient Representation of Segment IDs in SRv6 Networks”,
16th International Conference on Network and Service Management, CNSM 2020 (Acceptance ratio ~19%), 2-6 November 2020, Virtual Conference (pdf).
The P4 SRv6 uSID’s Team
- Angelo Tulumello
- Stefano Salsano
- Marco Bonola
- Ahmed Abdelsalam