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
- Another production case - TheRouter as a BGP border router in a service provider network
- Lab #1. IPV6 address assigning commands
- Lab #2. Neighbor discovery protocol and the neigbor cache states
- Lab #3. Static and connected ipv6 routes
- Lab #4. IPv6 BGP
IPv6 rcli commands descriptions https://github.com/alexk99/the_router/blob/master/conf_options.md#ipv6 Test ipv6 build http://therouter.net/downloads/the_router.6cores.dpdk.17.11.1.dev.a0.60.tar.gz.
- VRRP - end of may 2018
- IPv6 - september, october 2018
- Netflow (IPFIX) - december 2018
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.
TheRouter as a BGP border router in a service provider network