Work in progress.. Stay tuned.


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.

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
  • 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 (
  • vrrp (v2 for ipv4 and v3 for ipv6)
  • ipv6 (test phase)
    • unicast routing
    • ICMPv6
    • Neighbor Discovery Protocol
    • Duplicate address detection
    • Neighbor Unreachability Detection
    • MLD v1, v2
    • SLAAC
    • vrrp v3
  • flow accounting via IPFIX (test phase)

Broadband Remote Access Server (BRAS) features

  • 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



IPV6. IPv6 support is in a test phase.

IPFIX flow accouting. Flow accounting support is in a test phase.

Road map

  • Testing

Performance tests




Use cases

Production cases


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

TheRouter as a BGP border router in a service provider network