johanekstroms / the_router

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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
  • 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
  • QoS and HQoS

BRAS/BNG - Broadband Remote Access Server

  • IPoE L2/L3 connected subscribers
  • 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 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

About

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