summaryrefslogtreecommitdiffstats
path: root/bgpd/bgpd.c
diff options
context:
space:
mode:
authorpaul <paul>2003-02-07 14:29:19 +0000
committerpaul <paul>2003-02-07 14:29:19 +0000
commitd71717f92ca1892f7b30b553c4ab588e0095c5c7 (patch)
tree660579dbe185bfe07985646045951aac3005ce22 /bgpd/bgpd.c
parent87e7bd70819e712e26f60c430627b7b04cdd7949 (diff)
downloadquagga-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.c7
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;