[quagga-dev 1436] Confederations and prepending
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 172.24.9.69
On eBGP peer
* 172.24.12.40/29 172.24.9.69 0 65024 65024 65024 (65028 65026) i
* 172.24.14.129 0 65024 i
My initial thoughts are that aspath_delete_confed_seq should be
called before aspath_prepend so that rather than getting something
aspath_prepend: 65024 65024 (65028 65026)
aspath_delete_confed_seq: 65024 65024 (65028 65026)
aspath_add_seq: 65024 65024 65024 (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