summaryrefslogtreecommitdiff
path: root/nest
diff options
context:
space:
mode:
authorMikael Magnusson <mikma@users.sourceforge.net>2019-02-28 00:44:40 +0100
committerMikael Magnusson <mikma@users.sourceforge.net>2021-11-06 00:07:40 +0100
commit83446cbab725301e58dc41336c31c446996b4f28 (patch)
tree0442ddbba403669bd6d4eb1fcf9fafe80f66e825 /nest
parent7eb6a44491501e3f403fde2e26affb673f5b5b11 (diff)
Wireguard: Initial commit
Wireguard: Debug Wireguard: Implement tunnel encode decode Wireguard: Add remote endpoint Wireguard: Refactor into peer and allowed ips functions Wireguard: Clean up config.Y Wireguard: Extended color community Wireguard: Allow multiple channels Wireguard: Add peer config settings Wireguard: Set up wireguard device Add private key and listen port items. Wireguard: Add peer list Wireguard: Move key conversion Wireguard: Use recursive tunnel encaps Wireguard: Add user space support Wireguard: Reinit wg device at shutdown Wireguard: Add channel hooks Wireguard: Implement copy_config Wireguard: Fixes Wireguard: Add tunnel_type config parameter Use 51820 (default wireguard port) as default tunnel type. Wireguard: Rename remote endpoint to tunnel endpoint Adopt to draft-ietf-idr-tunnel-encaps-13.txt by renaming emote endpoint to tunnel endpoint. Wireguard: Fix discarded const qualifiers Wireguard: Remove bgp include Wireguard: Generalize tunnel encapsulation Wireguard: Add struct tunnel_encap Wireguard: Remove wg peer on withdraw Wireguard: Refactor remove_allowed_ip Wireguard: Dump peers Wireguard: Fix duplicate allowedip entries Wireguard: Dump peers Wireguard: Don't add endpoint if not set Wireguard: Replace debug with DBG Wireguard: Replace log with WG_TRACE Wireguard: Refactor add_allowed_ip Wireguard: Don't replace peers Wireguard: Don't fix listen_port update Wireguard: Move wireguard formatting from tunnel_encaps library Wireguard: Change from eattr to adata in decode and format wireguard: support multiple TLVs Wireguard: use visitor in wireguard Wireguard: WIP add wireguard sub-TLV to parser Wireguard: update debug msg wireguard: register name Wireguard: WIP Wireguard: implement allowed_ips instead of allowed_ip Wireguard: fix free peer, and peer config syntax Wireguard: clean up Wireguard: change key options to bytestring Wireguard: Add EA_GET
Diffstat (limited to 'nest')
-rw-r--r--nest/proto.c3
-rw-r--r--nest/protocol.h5
2 files changed, 7 insertions, 1 deletions
diff --git a/nest/proto.c b/nest/proto.c
index 31ee1fa1..2e29cc51 100644
--- a/nest/proto.c
+++ b/nest/proto.c
@@ -1701,6 +1701,9 @@ protos_build(void)
#ifdef CONFIG_PERF
proto_build(&proto_perf);
#endif
+#ifdef CONFIG_WIREGUARD
+ proto_build(&proto_wireguard);
+#endif
proto_pool = rp_new(&root_pool, "Protocols");
proto_shutdown_timer = tm_new(proto_pool);
diff --git a/nest/protocol.h b/nest/protocol.h
index abcc505d..98394d1b 100644
--- a/nest/protocol.h
+++ b/nest/protocol.h
@@ -53,6 +53,7 @@ enum protocol_class {
PROTOCOL_RIP,
PROTOCOL_RPKI,
PROTOCOL_STATIC,
+ PROTOCOL_WG,
PROTOCOL__MAX
};
@@ -103,7 +104,8 @@ void protos_dump_all(void);
extern struct protocol
proto_device, proto_radv, proto_rip, proto_static, proto_mrt,
proto_ospf, proto_perf,
- proto_pipe, proto_bgp, proto_bfd, proto_babel, proto_rpki;
+ proto_pipe, proto_bgp, proto_bfd, proto_babel, proto_rpki,
+ proto_wireguard;
/*
* Routing Protocol Instance
@@ -480,6 +482,7 @@ struct channel_class {
};
extern struct channel_class channel_bgp;
+extern struct channel_class channel_wg;
struct channel_config {
node n;