summaryrefslogtreecommitdiffstats
path: root/usr.sbin
diff options
context:
space:
mode:
authorrenato <renato@openbsd.org>2016-05-23 16:52:16 +0000
committerrenato <renato@openbsd.org>2016-05-23 16:52:16 +0000
commitb975185579601bcd6fe8cc262188dc7ba3855266 (patch)
tree49b6cf4b6361cb341d6032292cbeed8c856f7ec3 /usr.sbin
parentRemove protection that was prevent pseudowires to be updated in the kernel. (diff)
downloadwireguard-openbsd-b975185579601bcd6fe8cc262188dc7ba3855266.tar.xz
wireguard-openbsd-b975185579601bcd6fe8cc262188dc7ba3855266.zip
Fix bug in the processing of label withdraws and releases.
The F_MAP_PW_ID flag is only set for PW-ID mappings, which means that we were ignoring all label withdraws and label releases for non PW-ID FECs.
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/ldpd/lde_lib.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/usr.sbin/ldpd/lde_lib.c b/usr.sbin/ldpd/lde_lib.c
index 82d7b9e1f7e..ac69727a4fa 100644
--- a/usr.sbin/ldpd/lde_lib.c
+++ b/usr.sbin/ldpd/lde_lib.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: lde_lib.c,v 1.46 2016/05/23 16:43:57 renato Exp $ */
+/* $OpenBSD: lde_lib.c,v 1.47 2016/05/23 16:52:16 renato Exp $ */
/*
* Copyright (c) 2009 Michele Marchetto <michele@openbsd.org>
@@ -530,7 +530,7 @@ lde_check_release(struct map *map, struct lde_nbr *ln)
struct lde_map *me;
/* TODO group wildcard */
- if (!(map->flags & F_MAP_PW_ID))
+ if (map->type == MAP_TYPE_PWID && !(map->flags & F_MAP_PW_ID))
return;
lde_map2fec(map, ln->id, &fec);
@@ -600,7 +600,7 @@ lde_check_withdraw(struct map *map, struct lde_nbr *ln)
struct lde_map *me;
/* TODO group wildcard */
- if (!(map->flags & F_MAP_PW_ID))
+ if (map->type == MAP_TYPE_PWID && !(map->flags & F_MAP_PW_ID))
return;
lde_map2fec(map, ln->id, &fec);