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
commit8d9ec84d04cb2d37824639573d0509adfbf19c53 (patch)
tree7df5ccd88bd383391a23cca8e89dc057377c058d /bgpd/bgpd.c
parenteff4c4aa6e56e3f6727c97b8ebb16a10e66e0a15 (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;