Skip to content

TheRouter is a software packet router based on DPDK an NPF libraries.

Notifications You must be signed in to change notification settings

alexk99/the_router

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 pools

Configuration

Performance tests

Install

Configuration

Use cases

Production cases

Customers