View on GitHub


SRv6 uSID (micro segment) implementation in Linux

ROSE project

SRv6 uSID Linux implementation Home Page

The SRv6 “micro segment” (uSID for short) solution is an extension to the SRv6 Network Programming model (see below). 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.

In the context of the ROSE project, we have implemented the SRv6 uSID solution in Linux.

The processing of micro segments is performed by the Linux kernel, extending the current SRv6 implementation. The iproute2 userspace tool has been modified to support the configuration of the SRv6 uSIDs. The usage of the new iproute2 CLI commands is explained here.

SRv6 uSID Linux implementation source code

Reference IETF documents

“Network Programming extension: SRv6 uSID instruction” Internet Draft

“SRv6 Network Programming” Internet Draft

“IPv6 Segment Routing Header (SRH)” RFC 8754

SRv6 uSID Linux implementation Team