summaryrefslogtreecommitdiff
path: root/proto/babel/babel.h
diff options
context:
space:
mode:
authorAndreas Rammhold <andreas@rammhold.de>2023-02-14 16:17:03 +0100
committerOndrej Zajicek <santiago@crfreenet.org>2023-02-14 16:17:03 +0100
commiteecc3f02e41bcb91d463c4c1189fd56bc44e6514 (patch)
tree26e6b2e113536c63c0f63bceeb107e1844ce4a15 /proto/babel/babel.h
parent0851fcde651301a886fefc574a4f739bf68119b9 (diff)
Babel: Implement IPv4 via IPv6 extension (RFC 9229)
The patch implements an IPv4 via IPv6 extension (RFC 9229) to the Babel routing protocol (RFC 8966) that allows annoncing routes to an IPv4 prefix with an IPv6 next hop, which makes it possible for IPv4 traffic to flow through interfaces that have not been assigned an IPv4 address. The implementation is compatible with the current Babeld version. Thanks to Toke Høiland-Jørgensen for early review on this work. Minor changes from committer.
Diffstat (limited to 'proto/babel/babel.h')
-rw-r--r--proto/babel/babel.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/proto/babel/babel.h b/proto/babel/babel.h
index da8386b3..6699127e 100644
--- a/proto/babel/babel.h
+++ b/proto/babel/babel.h
@@ -114,6 +114,7 @@ enum babel_ae_type {
BABEL_AE_IP4 = 1,
BABEL_AE_IP6 = 2,
BABEL_AE_IP6_LL = 3,
+ BABEL_AE_IP4_VIA_IP6 = 4,
BABEL_AE_MAX
};
@@ -147,8 +148,9 @@ struct babel_iface_config {
ip_addr next_hop_ip4;
ip_addr next_hop_ip6;
+ u8 ext_next_hop; /* Enable IPv4 via IPv6 */
- u8 auth_type; /* Authentication type (BABEL_AUTH_*) */
+ u8 auth_type; /* Authentication type (BABEL_AUTH_*) */
u8 auth_permissive; /* Don't drop packets failing auth check */
uint mac_num_keys; /* Number of configured HMAC keys */
uint mac_total_len; /* Total digest length for all configured keys */