Go to file
famfo 8d664666c3 Fix hello queue 2023-07-01 07:59:41 +02:00
src Fix hello queue 2023-07-01 07:59:41 +02:00
.gitignore VSCodium needs to put it's files everywhere 2023-04-02 10:32:20 +02:00
Cargo.lock Neighbor table finished (still bugged) 2023-05-01 11:33:58 +02:00
Cargo.toml Neighbor table finished (still bugged) 2023-05-01 11:33:58 +02:00
LICENSE add license 2023-05-08 20:55:44 +02:00
README.md Interface table implemented 2023-06-17 23:31:48 +02:00
babeld.toml Interface table implemented 2023-06-17 23:31:48 +02:00
frr_test.conf Work 2023-03-20 12:26:38 +01:00
rfc8966.pdf Reference 2023-03-02 07:08:54 +01:00

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