Open Software Projects

Linux Kernel

The IPv6 dataplane functionalities for Segment Routing are available in the Linux Kernel. Find out how to start using SR on any Linux host.

P4

P4 (named for “Programming Protocol-independent Packet Processors”) is a domain specific programming language for expressing how packets are processed by the data plane of a forwarding element such as a hardware or software switch, network interface card, router, or network appliance.

The Fast Data Project (FD.io)

Cisco has funded an extensive implementation of SRv6 in open-source project FD.io VPP. Find out how to leverage this platform in your network architecture.

SR-aware applications

ExaBGP

ExaBGP provides a convenient way to implement Software Defined Networking by transforming BGP messages into friendly plain text or JSON, which can then be easily handled by simple scripts or your BSS/OSS.

GoBGP

GoBGP is an open source BGP implementation designed from scratch for modern environment and implemented in a the Go Programming Language.

GoBMP

GoBMP is an implementation of Open BMP (RFC 7854) protocol’s collector in go language. Collected BGP information can be published to kafka topics, stored in the file in JSON format or printed to stdout.

Pyroute2

The pyroute2 is a python library to interact with Linux ip route using netlink socket.

SERA

SERA is a SEgment Routing Aware firewall that extends the Linux iptables firewall. It’s capable of applying the iptables rules to the inner packet of received SR traffic.

Snort

Snort is an open-source network intrustion detection and prevention system. SR-Snort is an extended version of Snort with added capabilities.

TCPdump

TCPdump is a common packet analyzer.

Wireshark

Wireshark is a free and open source packet analyzer. It is used for network troubleshooting, analysis, software and communications protocol development, and education.

nftables

nftables replaces the popular {ip,ip6,arp,eb}tables. This software provides a new in-kernel packet classification framework. We have added SR capabilities to it.

srv6_traceroute

SRv6 aware tool for analyzing SRv6 packets on the wild internet.