diff options
author | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2017-12-13 15:57:44 +0100 |
---|---|---|
committer | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2017-12-13 15:57:44 +0100 |
commit | d807ea087f8d60e25eaef8c10168a40ca6545c57 (patch) | |
tree | 60ac512afd42488b277a6fe7a527e71ccfb92490 /proto | |
parent | 3e7923507b40b42c80dc621aff9d896106bae8c7 (diff) |
BGP: Fix non-transitive ext communities
Diffstat (limited to 'proto')
-rw-r--r-- | proto/bgp/attrs.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/proto/bgp/attrs.c b/proto/bgp/attrs.c index dea3c4a6..fdc981ca 100644 --- a/proto/bgp/attrs.c +++ b/proto/bgp/attrs.c @@ -550,10 +550,12 @@ bgp_decode_mp_unreach_nlri(struct bgp_parse_state *s, uint code UNUSED, uint fla static void bgp_export_ext_community(struct bgp_export_state *s, eattr *a) { + a->u.ptr = ec_set_del_nontrans(s->pool, a->u.ptr); + if (a->u.ptr->length == 0) UNSET(a); - a->u.ptr = ec_set_sort(s->pool, a->u.ptr); + ec_set_sort_x(a->u.ptr); } static void |