summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2020-09-14 08:29:05 +0000
committerNeale Ranns <nranns@cisco.com>2020-09-14 13:14:43 +0000
commita26b0d11e91e9abca6220e50f0240ab6ae09c6d3 (patch)
treec69fb15b8bcbe6f0c26228beefc98c2c605a7f26 /src
parent9459d65ba43c36b3e4117e0df9d07f8e9e2babd1 (diff)
wireguard: increase FIB source priority
Type: fix Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: Icc1c458474d357c7d9b3b4df1897500de0c314a1
Diffstat (limited to 'src')
-rwxr-xr-xsrc/plugins/wireguard/wireguard_peer.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/plugins/wireguard/wireguard_peer.c b/src/plugins/wireguard/wireguard_peer.c
index 04b07d97652..30adea82647 100755
--- a/src/plugins/wireguard/wireguard_peer.c
+++ b/src/plugins/wireguard/wireguard_peer.c
@@ -402,8 +402,13 @@ format_wg_peer (u8 * s, va_list * va)
static clib_error_t *
wg_peer_module_init (vlib_main_t * vm)
{
- wg_fib_source = fib_source_allocate ("wireguard", 0xb0, //
- FIB_SOURCE_BH_SIMPLE);
+ /*
+ * use a priority better than interface source, so that
+ * if the same subnet is added to the wg interface and is
+ * used as an allowed IP, then the wireguard soueced prefix
+ * wins and traffic is routed to the endpoint rather than dropped
+ */
+ wg_fib_source = fib_source_allocate ("wireguard", 0x2, FIB_SOURCE_BH_API);
return (NULL);
}