Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alexk99/the_router
TheRouter is a software packet router based on DPDK an NPF libraries.
https://github.com/alexk99/the_router
bgp bng bras cgnat dpdk ipoe ipv6 linux nat nfv pppoe router vrrp
Last synced: 12 days ago
JSON representation
TheRouter is a software packet router based on DPDK an NPF libraries.
- Host: GitHub
- URL: https://github.com/alexk99/the_router
- Owner: alexk99
- Created: 2016-12-07T15:09:25.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-10-24T14:39:42.000Z (20 days ago)
- Last Synced: 2024-10-25T18:44:38.556Z (19 days ago)
- Topics: bgp, bng, bras, cgnat, dpdk, ipoe, ipv6, linux, nat, nfv, pppoe, router, vrrp
- Homepage:
- Size: 852 KB
- Stars: 225
- Watchers: 19
- Forks: 37
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## We are rebranding
The project is now BisonRouter! Please visit our web site for more information.TheRouter is a software packet router based on one of the fastest packet processing libraries. Using modern software technique such as QSBR, lockless data structures and cuckoo hashing enables the router to perform routing (up to 32Mpps) and CGNAT (up to 10 Mpps) on high packet rates using commodity hardware.
## It supports
* 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
* ECMP and UCMP routing and load balancing
* Deterministic NAT
* Dynamic PBA NAT (port block allocation)
* NAT Hairpinning (NAT loopback)
* Stateful and stateless firewall and various forms of NAT. This functionality is based
on the improved version of NetBSD packet filter
* Link Aggregation/Link Bonding/LACP
* CGNAT (Endpoint-Dependent Mapping by NPF, Endpoint-Independent Mapping (EIM) by Deterministic NAT)
* NAT events logging (IPFIX, Netflow v9)
* VRRP (v2 for IPv4 and v3 for IPv6)
* IPv6
- Unicast routing
- ICMPv6
- Neighbor Discovery Protocol
- Duplicate address detection
- Neighbor Unreachability Detection
- MLD v1, v2
- SLAAC
- VRRP v3
* Flow accounting via IPFIX/Netflow v9
* QoS and HQoS## BRAS/BNG - Broadband Remote Access Server
* IPoE L2/L3 connected subscribers
* full support for IPv6
* PPPoE subscribers
* VRRP - enables redundancy and active-active BNG mode
* IPoE - VLAN per subscriber with IP unnumbered support
* QOS: Policing (Token bucket filter with extended burst value)
* HQoS: shaping, WRR, RED
* DHCP relay
* DHCP server
* DHCP option82 rewrite function
* Redirect subscribers traffic based on multiple routing tables and PBR
* Radius/CoA
* BRAS documentation
* BRAS howto## PPPoE
PPPoE server supports:
* IPv4 and IPv6
* RADIUS authorization (PAP and CHAP)
* RADIUS accounting
* CoA
* QOS: Policing (Token bucket filter with extended burst value)
* HQoS: shaping, WRR, RED
* TCP MSS Fix/Clumping
* Redirect subscribers traffic based on multiple routing tables and PBR
* Full RFC-compliant support PPPoE, LCP, IPCP, PAP, CHAP
* Up to 60000 concurrent PPPoE subscribers
* Local address/prefix poolsConfiguration
* PPPoE configuration options
* PPPoE BRAS howto## Performance tests
* Routing performance evaluation tests
* NAT performance benchmarks
* PPPoE performance test## Install
## Configuration
## Use cases
* Source NAT
* Border router
* IPoE BNG/BRAS howto,
docs
* PPPoE BNG/BRAS howto## Production cases
* PPPoE BRAS + CGNAT with 20k+ subscribers
* PPPoE BRAS with 20k+ subscribers
* Stampede. PPPoE IPv6 BRAS
* Bizin. TheRouter as a core BGP router.
* TheRouter as a BGP border router in a service provider network
* The first productive BRAS: PPPoE, NAT
## Customers