[packages] quagga-unstable: Delete AS_CONFED_SEQUENCE when prepending an AS_SEQUENCE type segment

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17010 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Vasilis Tsiligiannis 2009-07-26 12:15:00 +00:00
parent e157446e78
commit 257f8e3f6d
1 changed files with 13 additions and 0 deletions

View File

@ -0,0 +1,13 @@
--- a/bgpd/bgp_aspath.c
+++ b/bgpd/bgp_aspath.c
@@ -1208,6 +1208,10 @@ aspath_prepend (struct aspath *as1, stru
while (seg1 && seg1->next)
seg1 = seg1->next;
+ /* Delete any AS_CONFED_SEQUENCE segment from as2. */
+ if (seg1->type == AS_SEQUENCE && seg2->type == AS_CONFED_SEQUENCE)
+ as2 = aspath_delete_confed_seq (as2);
+
/* Compare last segment type of as1 and first segment type of as2. */
if (seg1->type != seg2->type)
return aspath_merge (as1, as2);