diff options
author | 2018-08-08 13:49:20 +0000 | |
---|---|---|
committer | 2018-08-08 13:49:20 +0000 | |
commit | 9b84c3c2c4bb8b79bd71af6d1c90d3255065a1c2 (patch) | |
tree | 1e19d767b8439879fcc0d67bcb1863469a2dc041 | |
parent | sync (diff) | |
download | wireguard-openbsd-9b84c3c2c4bb8b79bd71af6d1c90d3255065a1c2.tar.xz wireguard-openbsd-9b84c3c2c4bb8b79bd71af6d1c90d3255065a1c2.zip |
Make the (non-)transitive handling of ext communities a bit more obvious.
-rw-r--r-- | usr.sbin/bgpd/rde_update.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/usr.sbin/bgpd/rde_update.c b/usr.sbin/bgpd/rde_update.c index d7270fb0d32..8a44f0d0875 100644 --- a/usr.sbin/bgpd/rde_update.c +++ b/usr.sbin/bgpd/rde_update.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rde_update.c,v 1.96 2018/08/03 16:31:22 claudio Exp $ */ +/* $OpenBSD: rde_update.c,v 1.97 2018/08/08 13:49:20 claudio Exp $ */ /* * Copyright (c) 2004 Claudio Jeker <claudio@openbsd.org> @@ -881,13 +881,16 @@ up_generate_attr(struct rde_peer *peer, struct update_attr *upa, free(ndata); return (-1); } - } else + } else { + /* everything got removed */ r = 0; - break; + } + } else { + if ((r = attr_write(up_attr_buf + wlen, + len, oa->flags, oa->type, oa->data, + oa->len)) == -1) + return (-1); } - if ((r = attr_write(up_attr_buf + wlen, len, - oa->flags, oa->type, oa->data, oa->len)) == -1) - return (-1); break; default: /* unknown attribute */ |