|
|
@@ -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);
|