diff options
author | 2016-05-23 16:52:16 +0000 | |
---|---|---|
committer | 2016-05-23 16:52:16 +0000 | |
commit | b975185579601bcd6fe8cc262188dc7ba3855266 (patch) | |
tree | 49b6cf4b6361cb341d6032292cbeed8c856f7ec3 /usr.sbin | |
parent | Remove protection that was prevent pseudowires to be updated in the kernel. (diff) | |
download | wireguard-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.c | 6 |
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); |