[quagga-dev 1436] Confederations and prepending

Douglas Fraser doug+quagga at idmf.net
Tue Aug 24 20:19:31 BST 2004

I've run into an unwanted interaction between confederations and
prepending in route-maps.

If I prepend the confederation ID to the AS path the
confederation path sequence is not removed before advertising to
an eBGP neighbour.

This appears to be due to aspath_prepend being called before

Because aspath_prepend is called first, the left most segment in
the path is not of type AS_CONFED_SEQUENCE and, as per RFC 3065,
confederation path sequences later in AS path are not removed by
aspath_delete_confed_seq and replaced by the confederation ID.
Instead the confederation ID is simply prepended to the path.

 bgp confederation identifier 65024
 bgp confederation peers

When prepending 65024 twice in a routemap on

On eBGP peer
*   0 65024 65024 65024 (65028 65026) i
*        0 65024 i

My initial thoughts are that aspath_delete_confed_seq should be
called before aspath_prepend so that rather than getting something
                          (65028 65026)
aspath_prepend:           65024 65024 (65028 65026)
aspath_delete_confed_seq: 65024 65024 (65028 65026)
aspath_add_seq:           65024 65024 65024 (65028 65026)

You get:
                          (65028 65026)
aspath_prepend:           65024 65024
aspath_add_seq:           65024 65024 65024

Does anyone disagree with this ordering or interpretation of the
RFC or perhaps I'm going about this completely wrong?

I can provide example configurations if any wishes to test this
themselves and would interested if someone could test IOS to see
what it does.



More information about the Quagga-dev mailing list