diff options
author | Mikael Magnusson <mikma@users.sourceforge.net> | 2019-03-01 21:53:19 +0100 |
---|---|---|
committer | Mikael Magnusson <mikma@users.sourceforge.net> | 2021-01-12 23:34:17 +0100 |
commit | b8b493dcb071dede8467237c64ac74b9b016a1d8 (patch) | |
tree | 50f35dde70c4107596f7602fe8c3fc8eae849c76 | |
parent | 1b186fa5158a0a1c84ee2a30f8803c518a538623 (diff) |
Wireguard: Debug
-rw-r--r-- | proto/wireguard/wireguard.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/proto/wireguard/wireguard.c b/proto/wireguard/wireguard.c index e3fcbd47..0d6bd6a9 100644 --- a/proto/wireguard/wireguard.c +++ b/proto/wireguard/wireguard.c @@ -35,6 +35,17 @@ wg_if_notify(struct proto *P, unsigned flags, struct iface *i) } static void +dump(void *ptr, size_t len) +{ + unsigned char *data = ptr; + + for (size_t i=0; i<len; i++) { + fprintf(stderr, "%02x ", data[i]); + } + fprintf(stderr, "\n"); +} + +static void wg_rt_notify(struct proto *P, struct channel *ch UNUSED, struct network *n, struct rte *new, struct rte *old UNUSED) { @@ -168,8 +179,10 @@ wg_rt_notify(struct proto *P, struct channel *ch UNUSED, struct network *n, /* Withdraw */ en = fib_find(&p->rtable, n->n.addr); - if (!en) // || en->valid != RIP_ENTRY_VALID) + if (!en) { // || en->valid != RIP_ENTRY_VALID) + debug("WG: fib not found\n"); return; + } struct wg_device *dev = NULL; @@ -201,16 +214,21 @@ wg_rt_notify(struct proto *P, struct channel *ch UNUSED, struct network *n, wg_for_each_allowedip(peer, ip) { if (allowedip->family != ip->family) { + debug("WG: family no match\n"); previp = ip; continue; } if (allowedip->cidr != ip->cidr) { + debug("WG: cidr no match\n"); previp = ip; continue; } if (memcmp(&allowedip->ip6, &ip->ip6, sizeof(struct in6_addr))) { + debug("WG: ip no match\n"); + dump(&allowedip->ip6, sizeof(struct in6_addr)); + dump(&ip->ip6, sizeof(struct in6_addr)); previp = ip; continue; } |