You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
famfo dbe66ef0db Merge pull request 'add based license' (#1) from lemon/open-babeld:frog into frog
Reviewed-on: https://git.famfo.xyz/famfo/open-babeld/pulls/1
3 weeks ago
src Fix timers, neighbor table locking and update log levels 3 weeks ago
.gitignore VSCodium needs to put it's files everywhere 2 months ago
Cargo.lock Neighbor table finished (still bugged) 4 weeks ago
Cargo.toml Neighbor table finished (still bugged) 4 weeks ago
LICENSE add license 3 weeks ago
README.md Neighbor table finished (still bugged) 4 weeks ago
babeld.toml Start of nht tracking 2 months ago
frr_test.conf Work 2 months ago
rfc8966.pdf Reference 3 months ago

README.md

This is an async implementation of the babel routing protocol in Rust for my OpenBSD router. I want it to run everywhere I need a babel routing daemon, because the routing software I use doesn't support the babel protocol.

Note: despite the name, I am not affiliated with the OpenBSD project.

TODO:

3.1

  • Message Transmission and Reception

3.2

  • All data structures implemented
  • Sequence Number Arithmetic
  • Node Sequence Number
  • Interface Table
  • Neighbor Table
  • Source Table
  • Route Table
  • Table of Pending Seqno Requests

3.3

  • Acknowledgments and Acknowledgment Requests

3.4

  • Neighbour Acquisition
  • Reverse Reachability Detection
  • Bidirectional Reachability Detection
  • Cost Computation

3.5

  • Routing Table Maintenance
  • The Feasibility Condition
  • Metric Computation
  • Route Acquisition
  • Hold Time

3.6

  • Route Selection

3.7

  • Sending Updates
  • Periodic Updates
  • Triggered Updates
  • Maintaining Feasibility Distances
  • Split Horizon

3.8

  • Explicit Requests
  • Handling Requests
  • Route Requests
  • Seqno Requests
  • Sending Requests
  • Avoiding Starvation
  • Dealing with Unfeasible Updates
  • Preventing Routes from Expiring

4.1

  • Representation of Integers
  • Interval
  • Router-Id
  • Address
  • Prefixes

4.6

  • Pad1
  • PadN
  • Acknowledgment Request
  • Acknowledgment
  • Hello
  • IHU
  • Router-Id
  • Next Hop
  • Update
  • Route Request
  • Seqno Request

4.7

  • Sub TLVs