[packages] quagga-unstable: Delete AS_CONFED_SEQUENCE when prepending an AS_SEQUENCE...
[openwrt-10.03/.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);