diff options
39 files changed, 111 insertions, 39 deletions
diff --git a/bgpd/bgp_bmp.c b/bgpd/bgp_bmp.c index 2e3a0388d0..d6df560260 100644 --- a/bgpd/bgp_bmp.c +++ b/bgpd/bgp_bmp.c @@ -467,13 +467,19 @@ static struct stream *bmp_peerstate(struct peer *peer, bool down) struct stream *s; size_t len; struct timeval uptime, uptime_real; + uint8_t peer_type; + bool is_locrib = false; uptime.tv_sec = peer->uptime; uptime.tv_usec = 0; monotime_to_realtime(&uptime, &uptime_real); - uint8_t peer_type = bmp_get_peer_type(peer); - bool is_locrib = peer_type == BMP_PEER_TYPE_LOC_RIB_INSTANCE; + peer_type = bmp_get_peer_type(peer); + if (peer_type == BMP_PEER_TYPE_LOC_RIB_INSTANCE) + is_locrib = true; + else + /* TODO: remove this when other RD and local instances supported */ + peer_type = BMP_PEER_TYPE_GLOBAL_INSTANCE; #define BGP_BMP_MAX_PACKET_SIZE 1024 #define BMP_PEERUP_INFO_TYPE_STRING 0 @@ -484,9 +490,7 @@ static struct stream *bmp_peerstate(struct peer *peer, bool down) bmp_common_hdr(s, BMP_VERSION_3, BMP_TYPE_PEER_UP_NOTIFICATION); - bmp_per_peer_hdr(s, peer->bgp, peer, 0, - BMP_PEER_TYPE_GLOBAL_INSTANCE, 0, - &uptime_real); + bmp_per_peer_hdr(s, peer->bgp, peer, 0, peer_type, 0, &uptime_real); /* Local Address (16 bytes) */ if (is_locrib) diff --git a/bgpd/bgp_zebra.c b/bgpd/bgp_zebra.c index 688dfacaa0..ac4a6bb03b 100644 --- a/bgpd/bgp_zebra.c +++ b/bgpd/bgp_zebra.c @@ -744,6 +744,7 @@ bool bgp_zebra_nexthop_set(union sockunion *local, union sockunion *remote, int ret = 0; struct interface *ifp = NULL; bool v6_ll_avail = true; + bool shared_network_original = peer->shared_network; memset(nexthop, 0, sizeof(struct bgp_nexthop)); @@ -838,9 +839,9 @@ bool bgp_zebra_nexthop_set(union sockunion *local, union sockunion *remote, if (!v6_ll_avail && !peer->conf_if) v6_ll_avail = true; if (if_lookup_by_ipv4(&remote->sin.sin_addr, peer->bgp->vrf_id)) - peer->shared_network = 1; + peer->shared_network = true; else - peer->shared_network = 0; + peer->shared_network = false; } /* IPv6 connection, fetch and store IPv4 local address if any. */ @@ -903,11 +904,14 @@ bool bgp_zebra_nexthop_set(union sockunion *local, union sockunion *remote, || if_lookup_by_ipv6(&remote->sin6.sin6_addr, remote->sin6.sin6_scope_id, peer->bgp->vrf_id)) - peer->shared_network = 1; + peer->shared_network = true; else - peer->shared_network = 0; + peer->shared_network = false; } + if (shared_network_original != peer->shared_network) + bgp_peer_bfd_update_source(peer); + /* KAME stack specific treatment. */ #ifdef KAME if (IN6_IS_ADDR_LINKLOCAL(&nexthop->v6_global) diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index dccac3eceb..7b21c29ea6 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -2158,8 +2158,7 @@ int peer_remote_as(struct bgp *bgp, union sockunion *su, const char *conf_if, /* When this peer is a member of peer-group. */ if (peer->group) { /* peer-group already has AS number/internal/external */ - if (peer->group->conf->as - || peer->group->conf->as_type) { + if (peer->group->conf->as || peer->group->conf->as_type != AS_UNSPECIFIED) { /* Return peer group's AS number. */ *as = peer->group->conf->as; return BGP_ERR_PEER_GROUP_MEMBER; diff --git a/bgpd/bgpd.h b/bgpd/bgpd.h index df55d879e7..bb56fd355a 100644 --- a/bgpd/bgpd.h +++ b/bgpd/bgpd.h @@ -1330,7 +1330,7 @@ struct peer { union sockunion *su_local; /* Sockunion of local address. */ union sockunion *su_remote; /* Sockunion of remote address. */ - int shared_network; /* Is this peer shared same network. */ + bool shared_network; /* Is this peer shared same network. */ struct bgp_nexthop nexthop; /* Nexthop */ /* Roles in bgp session */ diff --git a/doc/user/zebra.rst b/doc/user/zebra.rst index b862ba9f50..9b9298c1cd 100644 --- a/doc/user/zebra.rst +++ b/doc/user/zebra.rst @@ -526,16 +526,6 @@ commands in relationship to VRF. Here is an extract of some of those commands: The network administrator can however decide to provision this command in configuration file to provide more clarity about the intended configuration. -.. clicmd:: netns NAMESPACE - - This command is based on VRF configuration mode. This command is available - when *Zebra* is run in :option:`-n` mode. This command reflects which *Linux - network namespace* is to be mapped with *Zebra* VRF. It is to be noted that - *Zebra* creates and detects added/suppressed VRFs from the Linux environment - (in fact, those managed with iproute2). The network administrator can however - decide to provision this command in configuration file to provide more clarity - about the intended configuration. - .. clicmd:: show ip route vrf VRF The show command permits dumping the routing table associated to the VRF. If diff --git a/pimd/pim_iface.c b/pimd/pim_iface.c index 20e3ba184b..19460aa445 100644 --- a/pimd/pim_iface.c +++ b/pimd/pim_iface.c @@ -1464,8 +1464,7 @@ static void pim_if_gm_join_del_all(struct interface *ifp) return; for (ALL_LIST_ELEMENTS(pim_ifp->gm_join_list, node, nextnode, ij)) - pim_if_gm_join_del(ifp, ij->group_addr, ij->source_addr, - GM_JOIN_STATIC); + pim_if_gm_join_del(ifp, ij->group_addr, ij->source_addr, ij->join_type); } ferr_r pim_if_static_group_add(struct interface *ifp, pim_addr group_addr, diff --git a/tests/topotests/bfd_profiles_topo1/r2/bgpd.conf b/tests/topotests/bfd_profiles_topo1/r2/bgpd.conf index 1aab1d1372..0fe6f1c1c4 100644 --- a/tests/topotests/bfd_profiles_topo1/r2/bgpd.conf +++ b/tests/topotests/bfd_profiles_topo1/r2/bgpd.conf @@ -5,9 +5,11 @@ router bgp 100 no bgp ebgp-requires-policy neighbor 172.16.1.1 remote-as 100 neighbor 172.16.1.1 timers 3 10 + neighbor 172.16.1.1 timers connect 1 neighbor 172.16.1.1 bfd profile fasttx neighbor 2001:db8:2::2 remote-as 200 neighbor 2001:db8:2::2 timers 3 10 + neighbor 2001:db8:2::2 timers connect 1 neighbor 2001:db8:2::2 ebgp-multihop 2 neighbor 2001:db8:2::2 bfd profile slowtx address-family ipv4 unicast diff --git a/tests/topotests/bfd_profiles_topo1/r3/bgpd.conf b/tests/topotests/bfd_profiles_topo1/r3/bgpd.conf index 65647b39e5..d1168d93bc 100644 --- a/tests/topotests/bfd_profiles_topo1/r3/bgpd.conf +++ b/tests/topotests/bfd_profiles_topo1/r3/bgpd.conf @@ -2,6 +2,7 @@ router bgp 100 bgp router-id 10.254.254.3 neighbor 172.16.1.2 remote-as 100 neighbor 172.16.1.2 timers 3 10 + neighbor 172.16.1.2 timers connect 1 neighbor 172.16.1.2 bfd profile DOES_NOT_EXIST address-family ipv4 unicast redistribute connected diff --git a/tests/topotests/bfd_profiles_topo1/r4/bgpd.conf b/tests/topotests/bfd_profiles_topo1/r4/bgpd.conf index 12d68270f8..1a8e6bb94d 100644 --- a/tests/topotests/bfd_profiles_topo1/r4/bgpd.conf +++ b/tests/topotests/bfd_profiles_topo1/r4/bgpd.conf @@ -5,6 +5,7 @@ router bgp 200 no bgp ebgp-requires-policy neighbor 2001:db8:1::2 remote-as 100 neighbor 2001:db8:1::2 timers 3 10 + neighbor 2001:db8:1::2 timers connect 1 neighbor 2001:db8:1::2 ebgp-multihop 2 neighbor 2001:db8:1::2 bfd profile DOES_NOT_EXIST address-family ipv4 unicast diff --git a/tests/topotests/bgp_aggregate_address_topo1/r1/bgpd.conf b/tests/topotests/bgp_aggregate_address_topo1/r1/bgpd.conf index c7cf4a527f..69be4b541d 100644 --- a/tests/topotests/bgp_aggregate_address_topo1/r1/bgpd.conf +++ b/tests/topotests/bgp_aggregate_address_topo1/r1/bgpd.conf @@ -19,8 +19,10 @@ router bgp 65000 no bgp ebgp-requires-policy neighbor 10.0.0.2 remote-as 65001 neighbor 10.0.0.2 timers 3 10 + neighbor 10.0.0.2 timers connect 1 neighbor 10.0.1.2 remote-as internal neighbor 10.0.1.2 timers 3 10 + neighbor 10.0.1.2 timers connect 1 address-family ipv4 unicast redistribute connected aggregate-address 192.168.0.0/24 matching-MED-only diff --git a/tests/topotests/bgp_aggregate_address_topo1/r2/bgpd.conf b/tests/topotests/bgp_aggregate_address_topo1/r2/bgpd.conf index acacd86526..418624aed4 100644 --- a/tests/topotests/bgp_aggregate_address_topo1/r2/bgpd.conf +++ b/tests/topotests/bgp_aggregate_address_topo1/r2/bgpd.conf @@ -1,6 +1,7 @@ router bgp 65000 neighbor 10.0.1.1 remote-as internal neighbor 10.0.1.1 timers 3 10 + neighbor 10.0.1.1 timers connect 1 address-family ipv4 unicast redistribute connected exit-address-family diff --git a/tests/topotests/bgp_aggregator_zero/r1/bgpd.conf b/tests/topotests/bgp_aggregator_zero/r1/bgpd.conf index 002a5c78c0..a6e24b221b 100644 --- a/tests/topotests/bgp_aggregator_zero/r1/bgpd.conf +++ b/tests/topotests/bgp_aggregator_zero/r1/bgpd.conf @@ -3,4 +3,5 @@ router bgp 65534 no bgp ebgp-requires-policy neighbor 10.0.0.2 remote-as external neighbor 10.0.0.2 timers 3 10 + neighbor 10.0.0.2 timers connect 1 ! diff --git a/tests/topotests/bgp_aspath_zero/r1/bgpd.conf b/tests/topotests/bgp_aspath_zero/r1/bgpd.conf index 002a5c78c0..a6e24b221b 100644 --- a/tests/topotests/bgp_aspath_zero/r1/bgpd.conf +++ b/tests/topotests/bgp_aspath_zero/r1/bgpd.conf @@ -3,4 +3,5 @@ router bgp 65534 no bgp ebgp-requires-policy neighbor 10.0.0.2 remote-as external neighbor 10.0.0.2 timers 3 10 + neighbor 10.0.0.2 timers connect 1 ! diff --git a/tests/topotests/bgp_bmp/bgpbmp.py b/tests/topotests/bgp_bmp/bgpbmp.py index 41995e2b5e..5e8b0d9be7 100644 --- a/tests/topotests/bgp_bmp/bgpbmp.py +++ b/tests/topotests/bgp_bmp/bgpbmp.py @@ -216,11 +216,16 @@ def bmp_check_for_peer_message( ] # get the list of pairs (prefix, policy, seq) for the given message type - peers = [ - m["peer_ip"] - for m in messages - if "peer_ip" in m.keys() and m["bmp_log_type"] == bmp_log_type - ] + peers = [] + for m in messages: + if ( + "peer_ip" in m.keys() + and m["peer_ip"] != "0.0.0.0" + and m["bmp_log_type"] == bmp_log_type + ): + peers.append(m["peer_ip"]) + elif m["policy"] == "loc-rib" and m["bmp_log_type"] == bmp_log_type: + peers.append("0.0.0.0") # check for prefixes for ep in expected_peers: diff --git a/tests/topotests/bgp_bmp/test_bgp_bmp_1.py b/tests/topotests/bgp_bmp/test_bgp_bmp_1.py index 6142863441..be3e07929a 100644 --- a/tests/topotests/bgp_bmp/test_bgp_bmp_1.py +++ b/tests/topotests/bgp_bmp/test_bgp_bmp_1.py @@ -192,7 +192,7 @@ def test_peer_up(): """ tgen = get_topogen() - peers = ["192.168.0.2", "192:168::2"] + peers = ["192.168.0.2", "192:168::2", "0.0.0.0"] logger.info("checking for BMP peers up messages") diff --git a/tests/topotests/bgp_bmp/test_bgp_bmp_2.py b/tests/topotests/bgp_bmp/test_bgp_bmp_2.py index b45452e7c4..e8f67515bd 100644 --- a/tests/topotests/bgp_bmp/test_bgp_bmp_2.py +++ b/tests/topotests/bgp_bmp/test_bgp_bmp_2.py @@ -200,7 +200,7 @@ def test_peer_up(): """ tgen = get_topogen() - peers = ["192.168.0.2", "192:168::2"] + peers = ["192.168.0.2", "192:168::2", "0.0.0.0"] logger.info("checking for BMP peers up messages") diff --git a/tests/topotests/bgp_ecmp_topo1/r1/bgpd.conf b/tests/topotests/bgp_ecmp_topo1/r1/bgpd.conf index 49981ac589..09c65321c2 100644 --- a/tests/topotests/bgp_ecmp_topo1/r1/bgpd.conf +++ b/tests/topotests/bgp_ecmp_topo1/r1/bgpd.conf @@ -8,44 +8,64 @@ router bgp 100 no bgp ebgp-requires-policy neighbor 10.0.1.101 remote-as 99 neighbor 10.0.1.101 timers 3 10 + neighbor 10.0.1.101 timers connect 1 neighbor 10.0.1.102 remote-as 99 neighbor 10.0.1.102 timers 3 10 + neighbor 10.0.1.102 timers connect 1 neighbor 10.0.1.103 remote-as 99 neighbor 10.0.1.103 timers 3 10 + neighbor 10.0.1.103 timers connect 1 neighbor 10.0.1.104 remote-as 99 neighbor 10.0.1.104 timers 3 10 + neighbor 10.0.1.104 timers connect 1 neighbor 10.0.1.105 remote-as 99 neighbor 10.0.1.105 timers 3 10 + neighbor 10.0.1.105 timers connect 1 neighbor 10.0.2.106 remote-as 99 neighbor 10.0.2.106 timers 3 10 + neighbor 10.0.1.106 timers connect 1 neighbor 10.0.2.107 remote-as 99 neighbor 10.0.2.107 timers 3 10 + neighbor 10.0.1.107 timers connect 1 neighbor 10.0.2.108 remote-as 99 neighbor 10.0.2.108 timers 3 10 + neighbor 10.0.1.108 timers connect 1 neighbor 10.0.2.109 remote-as 99 neighbor 10.0.2.109 timers 3 10 + neighbor 10.0.1.109 timers connect 1 neighbor 10.0.2.110 remote-as 99 neighbor 10.0.2.110 timers 3 10 + neighbor 10.0.1.110 timers connect 1 neighbor 10.0.3.111 remote-as 111 neighbor 10.0.3.111 timers 3 10 + neighbor 10.0.1.111 timers connect 1 neighbor 10.0.3.112 remote-as 112 neighbor 10.0.3.112 timers 3 10 + neighbor 10.0.1.112 timers connect 1 neighbor 10.0.3.113 remote-as 113 neighbor 10.0.3.113 timers 3 10 + neighbor 10.0.1.113 timers connect 1 neighbor 10.0.3.114 remote-as 114 neighbor 10.0.3.114 timers 3 10 + neighbor 10.0.1.114 timers connect 1 neighbor 10.0.3.115 remote-as 115 neighbor 10.0.3.115 timers 3 10 + neighbor 10.0.1.115 timers connect 1 neighbor 10.0.4.116 remote-as 116 neighbor 10.0.4.116 timers 3 10 + neighbor 10.0.1.116 timers connect 1 neighbor 10.0.4.117 remote-as 117 neighbor 10.0.4.117 timers 3 10 + neighbor 10.0.1.117 timers connect 1 neighbor 10.0.4.118 remote-as 118 neighbor 10.0.4.118 timers 3 10 + neighbor 10.0.1.118 timers connect 1 neighbor 10.0.4.119 remote-as 119 neighbor 10.0.4.119 timers 3 10 + neighbor 10.0.1.119 timers connect 1 neighbor 10.0.4.120 remote-as 120 neighbor 10.0.4.120 timers 3 10 + neighbor 10.0.1.120 timers connect 1 ! ! diff --git a/tests/topotests/bgp_flowspec/r1/bgpd.conf b/tests/topotests/bgp_flowspec/r1/bgpd.conf index 4b7a20f958..288aeaf4dd 100644 --- a/tests/topotests/bgp_flowspec/r1/bgpd.conf +++ b/tests/topotests/bgp_flowspec/r1/bgpd.conf @@ -6,6 +6,7 @@ router bgp 100 bgp router-id 10.0.1.1 neighbor 10.0.1.101 remote-as 100 neighbor 10.0.1.101 timers 3 10 + neighbor 10.0.1.101 timers connect 1 neighbor 10.0.1.101 update-source 10.0.1.1 address-family ipv6 flowspec local-install r1-eth0 diff --git a/tests/topotests/bgp_invalid_nexthop/r1/frr.conf b/tests/topotests/bgp_invalid_nexthop/r1/frr.conf index 05e1a6c825..f96aeb4366 100644 --- a/tests/topotests/bgp_invalid_nexthop/r1/frr.conf +++ b/tests/topotests/bgp_invalid_nexthop/r1/frr.conf @@ -8,6 +8,7 @@ router bgp 65001 no bgp ebgp-requires-policy neighbor fc00::2 remote-as external neighbor fc00::2 timers 3 10 + neighbor fc00::2 timers connect 1 address-family ipv6 neighbor fc00::2 activate exit-address-family diff --git a/tests/topotests/bgp_multiview_topo1/r1/bgpd.conf b/tests/topotests/bgp_multiview_topo1/r1/bgpd.conf index cd7f44ac66..ced5cb5e4d 100644 --- a/tests/topotests/bgp_multiview_topo1/r1/bgpd.conf +++ b/tests/topotests/bgp_multiview_topo1/r1/bgpd.conf @@ -19,10 +19,13 @@ router bgp 100 view 1 timers bgp 60 180 neighbor 172.16.1.1 remote-as 65001 neighbor 172.16.1.1 timers 3 10 + neighbor 172.16.1.1 timers connect 1 neighbor 172.16.1.2 remote-as 65002 neighbor 172.16.1.2 timers 3 10 + neighbor 172.16.1.2 timers connect 1 neighbor 172.16.1.5 remote-as 65005 neighbor 172.16.1.5 timers 3 10 + neighbor 172.16.1.5 timers connect 1 ! router bgp 100 view 2 bgp router-id 172.30.1.1 @@ -32,8 +35,10 @@ router bgp 100 view 2 timers bgp 60 180 neighbor 172.16.1.3 remote-as 65003 neighbor 172.16.1.3 timers 3 10 + neighbor 172.16.1.3 timers connect 1 neighbor 172.16.1.4 remote-as 65004 neighbor 172.16.1.4 timers 3 10 + neighbor 172.16.1.4 timers connect 1 ! router bgp 100 view 3 bgp router-id 172.30.1.1 @@ -43,10 +48,13 @@ router bgp 100 view 3 timers bgp 60 180 neighbor 172.16.1.6 remote-as 65006 neighbor 172.16.1.6 timers 3 10 + neighbor 172.16.1.6 timers connect 1 neighbor 172.16.1.7 remote-as 65007 neighbor 172.16.1.7 timers 3 10 + neighbor 172.16.1.7 timers connect 1 neighbor 172.16.1.8 remote-as 65008 neighbor 172.16.1.8 timers 3 10 + neighbor 172.16.1.8 timers connect 1 ! route-map local1 permit 10 set community 100:9999 additive diff --git a/tests/topotests/bgp_nexthop_ipv6/r1/bgpd.conf b/tests/topotests/bgp_nexthop_ipv6/r1/bgpd.conf index 7efa1b79fa..06ac666ce6 100644 --- a/tests/topotests/bgp_nexthop_ipv6/r1/bgpd.conf +++ b/tests/topotests/bgp_nexthop_ipv6/r1/bgpd.conf @@ -2,6 +2,7 @@ router bgp 65000 no bgp ebgp-requires-policy neighbor fd00:0:2::9 remote-as internal neighbor fd00:0:2::9 timers 3 10 + neighbor fd00:0:2::9 timers connect 1 address-family ipv4 unicast redistribute connected route-map RMAP4 ! diff --git a/tests/topotests/bgp_nexthop_ipv6/r2/bgpd.conf b/tests/topotests/bgp_nexthop_ipv6/r2/bgpd.conf index 4d4ae44e28..4b696b51b3 100644 --- a/tests/topotests/bgp_nexthop_ipv6/r2/bgpd.conf +++ b/tests/topotests/bgp_nexthop_ipv6/r2/bgpd.conf @@ -2,6 +2,7 @@ router bgp 65000 no bgp ebgp-requires-policy neighbor fd00:0:2::9 remote-as internal neighbor fd00:0:2::9 timers 3 10 + neighbor fd00:0:2::9 timers connect 1 address-family ipv4 unicast redistribute connected route-map RMAP4 ! diff --git a/tests/topotests/bgp_nexthop_ipv6/r4/bgpd.conf b/tests/topotests/bgp_nexthop_ipv6/r4/bgpd.conf index b14c9bace4..081909bbb3 100644 --- a/tests/topotests/bgp_nexthop_ipv6/r4/bgpd.conf +++ b/tests/topotests/bgp_nexthop_ipv6/r4/bgpd.conf @@ -2,6 +2,7 @@ router bgp 65001 no bgp ebgp-requires-policy neighbor fd00:0:2::9 remote-as external neighbor fd00:0:2::9 timers 3 10 + neighbor fd00:0:2::9 timers connect 1 address-family ipv4 unicast redistribute connected route-map RMAP4 ! diff --git a/tests/topotests/bgp_nexthop_ipv6/r5/bgpd.conf b/tests/topotests/bgp_nexthop_ipv6/r5/bgpd.conf index becea2bbe6..b8f9078f51 100644 --- a/tests/topotests/bgp_nexthop_ipv6/r5/bgpd.conf +++ b/tests/topotests/bgp_nexthop_ipv6/r5/bgpd.conf @@ -2,6 +2,7 @@ router bgp 65002 no bgp ebgp-requires-policy neighbor fd00:0:3::9 remote-as external neighbor fd00:0:3::9 timers 3 10 + neighbor fd00:0:3::9 timers connect 1 address-family ipv4 unicast redistribute connected route-map RMAP4 ! diff --git a/tests/topotests/bgp_nexthop_ipv6/r6/bgpd.conf b/tests/topotests/bgp_nexthop_ipv6/r6/bgpd.conf index 801736ab98..19c6bbc819 100644 --- a/tests/topotests/bgp_nexthop_ipv6/r6/bgpd.conf +++ b/tests/topotests/bgp_nexthop_ipv6/r6/bgpd.conf @@ -2,6 +2,7 @@ router bgp 65000 no bgp ebgp-requires-policy neighbor fd00:0:4::9 remote-as internal neighbor fd00:0:4::9 timers 3 10 + neighbor fd00:0:4::9 timers connect 1 address-family ipv4 unicast redistribute connected route-map RMAP4 ! diff --git a/tests/topotests/bgp_nexthop_ipv6/rr/bgpd.conf b/tests/topotests/bgp_nexthop_ipv6/rr/bgpd.conf index 705ae78b8e..1c8f2fa49e 100644 --- a/tests/topotests/bgp_nexthop_ipv6/rr/bgpd.conf +++ b/tests/topotests/bgp_nexthop_ipv6/rr/bgpd.conf @@ -2,16 +2,22 @@ router bgp 65000 no bgp ebgp-requires-policy neighbor fd00:0:2::1 remote-as internal neighbor fd00:0:2::1 timers 3 10 + neighbor fd00:0:2::1 timers connect 1 neighbor fd00:0:2::2 remote-as internal neighbor fd00:0:2::2 timers 3 10 + neighbor fd00:0:2::2 timers connect 1 neighbor fd00:0:2::3 remote-as internal neighbor fd00:0:2::3 timers 3 10 + neighbor fd00:0:2::3 timers connect 1 neighbor fd00:0:2::4 remote-as external neighbor fd00:0:2::4 timers 3 10 + neighbor fd00:0:2::4 timers connect 1 neighbor fd00:0:3::5 remote-as external neighbor fd00:0:3::5 timers 3 10 + neighbor fd00:0:3::5 timers connect 1 neighbor fd00:0:4::6 remote-as internal neighbor fd00:0:4::6 timers 3 10 + neighbor fd00:0:4::6 timers connect 1 address-family ipv4 unicast neighbor fd00:0:2::1 route-reflector-client neighbor fd00:0:2::2 route-reflector-client diff --git a/tests/topotests/bgp_nexthop_ipv6/test_bgp_nexthop_ipv6_topo1.py b/tests/topotests/bgp_nexthop_ipv6/test_bgp_nexthop_ipv6_topo1.py index 7875f2e0f6..58daee32c3 100644 --- a/tests/topotests/bgp_nexthop_ipv6/test_bgp_nexthop_ipv6_topo1.py +++ b/tests/topotests/bgp_nexthop_ipv6/test_bgp_nexthop_ipv6_topo1.py @@ -36,7 +36,7 @@ pytestmark = [pytest.mark.bgpd] def build_topo(tgen): - """ + r""" All peers are FRR BGP peers except r3 that is a exabgp peer. rr is a route-reflector for AS 65000 iBGP peers. Exabgp does not send any IPv6 Link-Local nexthop diff --git a/tests/topotests/bgp_path_attribute_discard/r1/frr.conf b/tests/topotests/bgp_path_attribute_discard/r1/frr.conf index ae7fbdd9a9..ae47862963 100644 --- a/tests/topotests/bgp_path_attribute_discard/r1/frr.conf +++ b/tests/topotests/bgp_path_attribute_discard/r1/frr.conf @@ -6,4 +6,5 @@ router bgp 65001 no bgp ebgp-requires-policy neighbor 10.0.0.254 remote-as external neighbor 10.0.0.254 timers 3 10 + neighbor 10.0.0.254 timers connect 1 ! diff --git a/tests/topotests/bgp_path_attribute_discard/r2/frr.conf b/tests/topotests/bgp_path_attribute_discard/r2/frr.conf index 1dafbdd8e1..30ffdefff3 100644 --- a/tests/topotests/bgp_path_attribute_discard/r2/frr.conf +++ b/tests/topotests/bgp_path_attribute_discard/r2/frr.conf @@ -6,5 +6,6 @@ router bgp 65254 no bgp ebgp-requires-policy neighbor 10.0.0.254 remote-as internal neighbor 10.0.0.254 timers 3 10 + neighbor 10.0.0.254 timers connect 1 neighbor 10.0.0.254 path-attribute discard 26 ! diff --git a/tests/topotests/bgp_peer_type_multipath_relax/r1/bgpd.conf b/tests/topotests/bgp_peer_type_multipath_relax/r1/bgpd.conf index 038f108aa8..e743010922 100644 --- a/tests/topotests/bgp_peer_type_multipath_relax/r1/bgpd.conf +++ b/tests/topotests/bgp_peer_type_multipath_relax/r1/bgpd.conf @@ -8,9 +8,17 @@ router bgp 64510 bgp bestpath compare-routerid bgp bestpath peer-type multipath-relax neighbor 10.0.1.2 remote-as 64510 + neighbor 10.0.1.2 timers 3 10 + neighbor 10.0.1.2 timers connect 1 neighbor 10.0.3.2 remote-as 64502 + neighbor 10.0.3.2 timers 3 10 + neighbor 10.0.3.2 timers connect 1 neighbor 10.0.4.2 remote-as 64503 + neighbor 10.0.4.2 timers 3 10 + neighbor 10.0.4.2 timers connect 1 neighbor 10.0.5.2 remote-as 64511 + neighbor 10.0.5.2 timers 3 10 + neighbor 10.0.5.2 timers connect 1 ! line vty ! diff --git a/tests/topotests/bgp_peer_type_multipath_relax/r2/bgpd.conf b/tests/topotests/bgp_peer_type_multipath_relax/r2/bgpd.conf index 2362a19f26..1da7173bba 100644 --- a/tests/topotests/bgp_peer_type_multipath_relax/r2/bgpd.conf +++ b/tests/topotests/bgp_peer_type_multipath_relax/r2/bgpd.conf @@ -7,7 +7,11 @@ router bgp 64511 bgp router-id 10.0.5.2 no bgp ebgp-requires-policy neighbor 10.0.2.2 remote-as 64511 + neighbor 10.0.2.2 timers 3 10 + neighbor 10.0.2.2 timers connect 1 neighbor 10.0.5.1 remote-as 64510 + neighbor 10.0.5.1 timers 3 10 + neighbor 10.0.5.1 timers connect 1 ! address-family ipv4 unicast neighbor 10.0.5.1 route-map dropall in diff --git a/tests/topotests/bgp_prefix_sid/r1/bgpd.conf b/tests/topotests/bgp_prefix_sid/r1/bgpd.conf index e02226f2fd..3fd5e5e9c3 100644 --- a/tests/topotests/bgp_prefix_sid/r1/bgpd.conf +++ b/tests/topotests/bgp_prefix_sid/r1/bgpd.conf @@ -7,8 +7,10 @@ router bgp 1 no bgp ebgp-requires-policy neighbor 10.0.0.101 remote-as 2 neighbor 10.0.0.101 timers 3 10 + neighbor 10.0.0.101 timers connect 1 neighbor 10.0.0.102 remote-as 3 neighbor 10.0.0.102 timers 3 10 + neighbor 10.0.0.102 timers connect 1 ! address-family ipv4 labeled-unicast neighbor 10.0.0.101 activate diff --git a/tests/topotests/bgp_prefix_sid2/r1/bgpd.conf b/tests/topotests/bgp_prefix_sid2/r1/bgpd.conf index b3ca0e114d..946103c30f 100644 --- a/tests/topotests/bgp_prefix_sid2/r1/bgpd.conf +++ b/tests/topotests/bgp_prefix_sid2/r1/bgpd.conf @@ -18,6 +18,7 @@ router bgp 1 no bgp ebgp-requires-policy neighbor 10.0.0.101 remote-as 2 neighbor 10.0.0.101 timers 3 10 + neighbor 10.0.0.101 timers connect 1 ! address-family ipv6 vpn neighbor 10.0.0.101 activate diff --git a/tests/topotests/bgp_route_server_client/r1/bgpd.conf b/tests/topotests/bgp_route_server_client/r1/bgpd.conf index e464e6c50b..d379f7df45 100644 --- a/tests/topotests/bgp_route_server_client/r1/bgpd.conf +++ b/tests/topotests/bgp_route_server_client/r1/bgpd.conf @@ -5,7 +5,7 @@ router bgp 65001 no bgp enforce-first-as neighbor 2001:db8:1::1 remote-as external neighbor 2001:db8:1::1 timers 3 10 - neighbor 2001:db8:1::1 timers connect 5 + neighbor 2001:db8:1::1 timers connect 1 address-family ipv6 unicast redistribute connected neighbor 2001:db8:1::1 activate diff --git a/tests/topotests/bgp_route_server_client/r2/bgpd.conf b/tests/topotests/bgp_route_server_client/r2/bgpd.conf index 19607660f9..7fda2b0a05 100644 --- a/tests/topotests/bgp_route_server_client/r2/bgpd.conf +++ b/tests/topotests/bgp_route_server_client/r2/bgpd.conf @@ -3,16 +3,16 @@ router bgp 65000 view RS no bgp ebgp-requires-policy neighbor 2001:db8:1::2 remote-as external neighbor 2001:db8:1::2 timers 3 10 - neighbor 2001:db8:1::2 timers connect 5 + neighbor 2001:db8:1::2 timers connect 1 neighbor 2001:db8:1::3 remote-as external neighbor 2001:db8:1::3 timers 3 10 - neighbor 2001:db8:1::3 timers connect 5 + neighbor 2001:db8:1::3 timers connect 1 neighbor 2001:db8:1::4 remote-as external neighbor 2001:db8:1::4 timers 3 10 - neighbor 2001:db8:1::4 timers connect 5 + neighbor 2001:db8:1::4 timers connect 1 neighbor 2001:db8:3::2 remote-as external neighbor 2001:db8:3::2 timers 3 10 - neighbor 2001:db8:3::2 timers connect 5 + neighbor 2001:db8:3::2 timers connect 1 address-family ipv6 unicast redistribute connected neighbor 2001:db8:1::2 activate diff --git a/tests/topotests/bgp_route_server_client/r3/bgpd.conf b/tests/topotests/bgp_route_server_client/r3/bgpd.conf index f7daba87fa..2f20b91334 100644 --- a/tests/topotests/bgp_route_server_client/r3/bgpd.conf +++ b/tests/topotests/bgp_route_server_client/r3/bgpd.conf @@ -5,7 +5,7 @@ router bgp 65003 no bgp enforce-first-as neighbor 2001:db8:3::1 remote-as external neighbor 2001:db8:3::1 timers 3 10 - neighbor 2001:db8:3::1 timers connect 5 + neighbor 2001:db8:3::1 timers connect 1 address-family ipv6 unicast redistribute connected neighbor 2001:db8:3::1 activate diff --git a/tests/topotests/bgp_route_server_client/r4/bgpd.conf b/tests/topotests/bgp_route_server_client/r4/bgpd.conf index c907d7284e..66a1573018 100644 --- a/tests/topotests/bgp_route_server_client/r4/bgpd.conf +++ b/tests/topotests/bgp_route_server_client/r4/bgpd.conf @@ -5,7 +5,7 @@ router bgp 65004 no bgp enforce-first-as neighbor 2001:db8:1::1 remote-as external neighbor 2001:db8:1::1 timers 3 10 - neighbor 2001:db8:1::1 timers connect 5 + neighbor 2001:db8:1::1 timers connect 1 address-family ipv6 unicast redistribute connected neighbor 2001:db8:1::1 activate diff --git a/tests/topotests/bgp_vrf_netns/r1/bgpd.conf b/tests/topotests/bgp_vrf_netns/r1/bgpd.conf index 572dce7455..2853a7a5ca 100644 --- a/tests/topotests/bgp_vrf_netns/r1/bgpd.conf +++ b/tests/topotests/bgp_vrf_netns/r1/bgpd.conf @@ -5,6 +5,7 @@ router bgp 100 vrf r1-bgp-cust1 no bgp ebgp-requires-policy neighbor 10.0.1.101 remote-as 99 neighbor 10.0.1.101 timers 3 10 + neighbor 10.0.1.101 timers connect 1 ! ! diff --git a/zebra/zebra_cli.c b/zebra/zebra_cli.c index 6ee0fdbb8d..ca53eb2eb3 100644 --- a/zebra/zebra_cli.c +++ b/zebra/zebra_cli.c @@ -2252,6 +2252,9 @@ static void lib_vrf_mpls_fec_nexthop_resolution_cli_write( } } +#if CONFDATE > 20251207 +CPP_NOTICE("Remove no-op netns command") +#endif DEFPY_YANG (vrf_netns, vrf_netns_cmd, "[no] netns ![NAME$netns_name]", |
