herrbischoff / rs-aggregate

Aggregate IPv4 and/or IPv6 prefixes into their minimal representation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rs-aggregate

rs-aggregate will aggregate an unsorted list of IP prefixes

Intended to be a drop-in replacement for aggregate6 with better performance.

Takes a list of whitespace-separated IPs or IP networks and aggregates them to their minimal representation.

Known discrepancies with aggregate6

  • rs-aggregate accepts subnet and wilcard mask formats in addition to CIDR, ie all these are valid and equivalent:
    • 1.1.1.0/255.255.255.0
    • 1.1.1.0/0.0.0.255
    • 1.1.1.0/24
  • -m/--max-prefixlen supports different maximums for each address family as ipv4,ipv6 format

Performance

Performance comparison of rs-aggregate vs aggregate6. A speedup of >100x is achieved on DFZ data.

Full DFZ (1154968 total, 202729 aggregates): dfz perf comparison

IPv4 DFZ (968520 total, 154061 aggregates): ipv4 dfz perf comparison

About

Aggregate IPv4 and/or IPv6 prefixes into their minimal representation

License:MIT License


Languages

Language:Rust 100.0%