diff options
author | Claudio Jeker <claudio@cvs.openbsd.org> | 2019-06-19 08:15:08 +0000 |
---|---|---|
committer | Claudio Jeker <claudio@cvs.openbsd.org> | 2019-06-19 08:15:08 +0000 |
commit | b37882afda655b509ab4e2121223fc45e7238138 (patch) | |
tree | 1c1f7e88593bf0a3b55e8919b109ac57d4384b26 /usr.sbin/bgpd/rde_update.c | |
parent | 4f9699e34f75c806f91b46ee8d6ffcd9b8f7c8e8 (diff) |
With the community rewrite the output code needs to also check the
communities member of struct prefix to decide if prefixes can be
put together into the same update. This bug results in prefixes
being sent out with the wrong comminities.
Diffstat (limited to 'usr.sbin/bgpd/rde_update.c')
-rw-r--r-- | usr.sbin/bgpd/rde_update.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/usr.sbin/bgpd/rde_update.c b/usr.sbin/bgpd/rde_update.c index 6e18022cb82..eb9d8d9b2b2 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.116 2019/06/17 12:02:44 claudio Exp $ */ +/* $OpenBSD: rde_update.c,v 1.117 2019/06/19 08:15:07 claudio Exp $ */ /* * Copyright (c) 2004 Claudio Jeker <claudio@openbsd.org> @@ -605,8 +605,11 @@ up_dump_prefix(u_char *buf, int len, struct prefix_tree *prefix_head, wpos += r; /* make sure we only dump prefixes which belong together */ - if (np == NULL || np->aspath != p->aspath || - np->nexthop != p->nexthop || np->nhflags != p->nhflags || + if (np == NULL || + np->aspath != p->aspath || + np->communities != p->communities || + np->nexthop != p->nexthop || + np->nhflags != p->nhflags || np->eor) done = 1; |