diff options
author | paul <paul> | 2003-02-07 14:29:19 +0000 |
---|---|---|
committer | paul <paul> | 2003-02-07 14:29:19 +0000 |
commit | 8d9ec84d04cb2d37824639573d0509adfbf19c53 (patch) | |
tree | 7df5ccd88bd383391a23cca8e89dc057377c058d /bgpd/bgpd.c | |
parent | eff4c4aa6e56e3f6727c97b8ebb16a10e66e0a15 (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; |