TheRouter is a software packet router based on DPDK an NPF libraries. Using modern software technique such as QSBR, lockless data structures and cuckoo hashing enables the router to perform routing (up tp 32Mpps) and NAT (up to 6 Mpps) on high packet rates using commodity hardware.
- ipv4 static and dynamic routing. Dynamic routing is based on integration with Quagga Routing Suite or FRRouting
- dot1q and qinq ethernet encapsulations
- ip unnumbered
- arp, proxy arp
- icmp
- pbr and multiple routing tables
- statefull and stateless firewall and various forms of NAT. This functionality is based on the improved version of NetBSD packet filter
- link bonding
- NAT events logging via IPFIX (https://tools.ietf.org/html/draft-ietf-behave-ipfix-nat-logging-13#page-11)
- IPoE L2/L3 connected subscribers
- IPoE vlan per subsriber with ip unnumbered addresses
- traffic shaping (Token bucket filter with extended burst value)
- DHCP relay
- redirect subsribers traffic based on multiple routing tables and PBR
- radius/coa
- BRAS documentation
- BRAS howto
Bizin. TheRouter as a core BGP router.
Bizin. The first experience using TheRouter as a BGP core router in an internet service provider network. Forwarding traffic between a BRAS cluster and a Google Cache Server.