]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Babel: Update RFC references
authorOndrej Zajicek <santiago@crfreenet.org>
Sun, 19 Feb 2023 14:34:43 +0000 (15:34 +0100)
committerOndrej Zajicek <santiago@crfreenet.org>
Sun, 19 Feb 2023 14:34:43 +0000 (15:34 +0100)
doc/bird.sgml
proto/babel/babel.c

index 6f3fcfc6ac497d43b898bb9ced3bf70a82462489..477bc7a356451512e5ee56e1c6bc956db755237b 100644 (file)
@@ -1885,7 +1885,7 @@ protocol sections.
 <label id="babel-intro">
 
 <p>The Babel protocol
-(<rfc id="6126">) is a loop-avoiding distance-vector routing protocol that is
+(<rfc id="8966">) is a loop-avoiding distance-vector routing protocol that is
 robust and efficient both in ordinary wired networks and in wireless mesh
 networks. Babel is conceptually very simple in its operation and "just works"
 in its default configuration, though some configuration is possible and in some
index 6842d61b50e56f21a673c6b5098dd630c3db853f..9f33dd3458bd078618eab4ca5666911a08a2e00b 100644 (file)
@@ -14,9 +14,8 @@
 /**
  * DOC: The Babel protocol
  *
- * Babel (RFC6126) is a loop-avoiding distance-vector routing protocol that is
- * robust and efficient both in ordinary wired networks and in wireless mesh
- * networks.
+ * The Babel is a loop-avoiding distance-vector routing protocol that is robust
+ * and efficient both in ordinary wired networks and in wireless mesh networks.
  *
  * The Babel protocol keeps state for each neighbour in a &babel_neighbor
  * struct, tracking received Hello and I Heard You (IHU) messages. A
  * an entry is updated by receiving updates from the network or when modified by
  * internal timers. The function selects from feasible and reachable routes the
  * one with the lowest metric to be announced to the core.
+ *
+ * Supported standards:
+ * RFC 8966 - The Babel Routing Protocol
+ * RFC 8967 - MAC Authentication for Babel
+ * RFC 9079 - Source Specific Routing for Babel
+ * RFC 9229 - IPv4 Routes with IPv6 Next Hop for Babel
  */
 
 #include <stdlib.h>
@@ -294,7 +299,7 @@ babel_expire_routes(struct babel_proto *p)
 }
 
 /*
- * Add seqno request to the table of pending requests (RFC 6216 3.2.6) and send
+ * Add seqno request to the table of pending requests (RFC 8966 3.2.6) and send
  * it to network. Do nothing if it is already in the table.
  */
 
@@ -1022,7 +1027,7 @@ babel_send_update_(struct babel_iface *ifa, btime changed, struct fib *rtable)
 
     babel_enqueue(&msg, ifa);
 
-    /* RFC 6126 3.7.3 - update feasibility distance for redistributed routes */
+    /* RFC 8966 3.7.3 - update feasibility distance for redistributed routes */
     if (e->router_id != p->router_id)
     {
       struct babel_source *s = babel_get_source(p, e, e->router_id, msg.update.seqno);
@@ -1325,7 +1330,7 @@ babel_handle_update(union babel_msg *m, struct babel_iface *ifa)
   best = e->selected;
 
   /*
-   * RFC section 3.8.2.2 - Dealing with unfeasible updates. Generate a one-off
+   * RFC 8966 3.8.2.2 - dealing with unfeasible updates. Generate a one-off
    * (not retransmitted) unicast seqno request to the originator of this update.
    * Note: !feasible -> s exists, check for 's' is just for clarity / safety.
    */
@@ -1370,7 +1375,7 @@ babel_handle_route_request(union babel_msg *m, struct babel_iface *ifa)
   struct babel_proto *p = ifa->proto;
   struct babel_msg_route_request *msg = &m->route_request;
 
-  /* RFC 6126 3.8.1.1 */
+  /* RFC 8966 3.8.1.1 */
 
   /* Wildcard request - full update on the interface */
   if (msg->full)
@@ -1428,7 +1433,7 @@ babel_handle_seqno_request(union babel_msg *m, struct babel_iface *ifa)
   struct babel_proto *p = ifa->proto;
   struct babel_msg_seqno_request *msg = &m->seqno_request;
 
-  /* RFC 6126 3.8.1.2 */
+  /* RFC 8966 3.8.1.2 */
 
   TRACE(D_PACKETS, "Handling seqno request for %N router-id %lR seqno %d hop count %d",
        &msg->net, msg->router_id, msg->seqno, msg->hop_count);