summaryrefslogtreecommitdiff
path: root/proto
diff options
context:
space:
mode:
authorMaria Matejka <mq@ucw.cz>2023-04-14 13:43:24 +0200
committerMaria Matejka <mq@ucw.cz>2023-04-14 13:43:24 +0200
commit11069272133a6818e4b24d6f2c2ef33338ac499a (patch)
tree88b3da294585f23da8b223c4dbf4c1db468a0d4a /proto
parentea30d596d3732b3d2c4b1f55ebdc7cc018dd20bb (diff)
parent913ec57f27b06845e3698e8ea08821d39b9575cf (diff)
Merge commit '913ec57f' into thread-next-iface
Diffstat (limited to 'proto')
-rw-r--r--proto/babel/babel.c21
-rw-r--r--proto/bgp/bgp.c2
-rw-r--r--proto/bgp/bgp.h4
-rw-r--r--proto/bgp/packets.c6
4 files changed, 19 insertions, 14 deletions
diff --git a/proto/babel/babel.c b/proto/babel/babel.c
index cf625819..d398da8e 100644
--- a/proto/babel/babel.c
+++ b/proto/babel/babel.c
@@ -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
@@ -33,6 +32,12 @@
* 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>
@@ -297,7 +302,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.
*/
@@ -1021,7 +1026,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);
@@ -1324,7 +1329,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.
*/
@@ -1369,7 +1374,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)
@@ -1427,7 +1432,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);
diff --git a/proto/bgp/bgp.c b/proto/bgp/bgp.c
index fffa8cec..cda0eb8d 100644
--- a/proto/bgp/bgp.c
+++ b/proto/bgp/bgp.c
@@ -101,9 +101,9 @@
* RFC 8203 - BGP Administrative Shutdown Communication
* RFC 8212 - Default EBGP Route Propagation Behavior without Policies
* RFC 8654 - Extended Message Support for BGP
+ * RFC 9072 - Extended Optional Parameters Length for BGP OPEN Message
* RFC 9117 - Revised Validation Procedure for BGP Flow Specifications
* RFC 9234 - Route Leak Prevention and Detection Using Roles
- * draft-ietf-idr-ext-opt-param-07
* draft-uttaro-idr-bgp-persistence-04
* draft-walton-bgp-hostname-capability-02
*/
diff --git a/proto/bgp/bgp.h b/proto/bgp/bgp.h
index 621e1bc5..c98582dd 100644
--- a/proto/bgp/bgp.h
+++ b/proto/bgp/bgp.h
@@ -97,7 +97,7 @@ struct bgp_config {
int capabilities; /* Enable capability handshake [RFC 5492] */
int enable_refresh; /* Enable local support for route refresh [RFC 2918] */
int enable_as4; /* Enable local support for 4B AS numbers [RFC 6793] */
- int enable_extended_messages; /* Enable local support for extended messages [draft] */
+ int enable_extended_messages; /* Enable local support for extended messages [RFC 8654] */
int enable_hostname; /* Enable local support for hostname [draft] */
u32 rr_cluster_id; /* Route reflector cluster ID, if different from local ID */
int rr_client; /* Whether neighbor is RR client of me */
@@ -237,7 +237,7 @@ struct bgp_caps {
u32 as4_number; /* Announced ASN */
u8 as4_support; /* Four-octet AS capability, RFC 6793 */
- u8 ext_messages; /* Extended message length, RFC draft */
+ u8 ext_messages; /* Extended message length, RFC 8654 */
u8 route_refresh; /* Route refresh capability, RFC 2918 */
u8 enhanced_refresh; /* Enhanced route refresh, RFC 7313 */
u8 role; /* BGP role capability, RFC 9234 */
diff --git a/proto/bgp/packets.c b/proto/bgp/packets.c
index 546f0809..978a1891 100644
--- a/proto/bgp/packets.c
+++ b/proto/bgp/packets.c
@@ -518,7 +518,7 @@ bgp_read_capabilities(struct bgp_conn *conn, byte *pos, int len)
}
break;
- case 6: /* Extended message length capability, RFC draft */
+ case 6: /* Extended message length capability, RFC 8654 */
if (cl != 0)
goto err;
@@ -711,7 +711,7 @@ bgp_read_options(struct bgp_conn *conn, byte *pos, uint len, uint rest)
struct bgp_proto *p = conn->bgp;
int ext = 0;
- /* Handle extended length (draft-ietf-idr-ext-opt-param-07) */
+ /* Handle extended length, RFC 9072 */
if ((len > 0) && (rest > 0) && (pos[0] == 255))
{
if (rest < 3)
@@ -796,7 +796,7 @@ bgp_create_open(struct bgp_conn *conn, byte *buf)
buf[10] = 2; /* Option 2: Capability list */
buf[11] = len; /* Option data length */
}
- else /* draft-ietf-idr-ext-opt-param-07 */
+ else /* Extended length, RFC 9072 */
{
/* Move capabilities 4 B forward */
memmove(buf + 16, pos, len);