[packages] quagga-unstable: Delete AS_CONFED_SEQUENCE when prepending an AS_SEQUENCE...
[openwrt/svn-archive/archive.git] / package / openwrt-packages / net / quagga-unstable / patches / 130-confed_aspath_delete_on_prepend.patch
1 --- a/bgpd/bgp_aspath.c
2 +++ b/bgpd/bgp_aspath.c
3 @@ -1208,6 +1208,10 @@ aspath_prepend (struct aspath *as1, stru
4 while (seg1 && seg1->next)
5 seg1 = seg1->next;
6
7 + /* Delete any AS_CONFED_SEQUENCE segment from as2. */
8 + if (seg1->type == AS_SEQUENCE && seg2->type == AS_CONFED_SEQUENCE)
9 + as2 = aspath_delete_confed_seq (as2);
10 +
11 /* Compare last segment type of as1 and first segment type of as2. */
12 if (seg1->type != seg2->type)
13 return aspath_merge (as1, as2);