diff options
author | paul <paul> | 2003-02-07 14:29:19 +0000 |
---|---|---|
committer | paul <paul> | 2003-02-07 14:29:19 +0000 |
commit | d71717f92ca1892f7b30b553c4ab588e0095c5c7 (patch) | |
tree | 660579dbe185bfe07985646045951aac3005ce22 /bgpd/bgpd.c | |
parent | 87e7bd70819e712e26f60c430627b7b04cdd7949 (diff) | |
download | quagga-zebra_org_20030207.tar.bz2 quagga-zebra_org_20030207.tar.xz |
Import of Zebra CVS 20030207-14:26zebra_org_20030207
Diffstat (limited to 'bgpd/bgpd.c')
-rw-r--r-- | bgpd/bgpd.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index f116a0cf..53263637 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -797,6 +797,13 @@ peer_as_change (struct peer *peer, as_t as) type = peer_sort (peer); peer->as = as; + if (bgp_config_check (peer->bgp, BGP_CONFIG_CONFEDERATION) + && ! bgp_confederation_peers_check (peer->bgp, as) + && peer->bgp->as != as) + peer->local_as = peer->bgp->confed_id; + else + peer->local_as = peer->bgp->as; + /* Advertisement-interval reset */ if (peer_sort (peer) == BGP_PEER_IBGP) peer->v_routeadv = BGP_DEFAULT_IBGP_ROUTEADV; |