summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--isisd/fabricd.c4
-rw-r--r--isisd/isis_bfd.c2
-rw-r--r--isisd/isis_circuit.c41
-rw-r--r--isisd/isis_lsp.c6
-rw-r--r--isisd/isis_pdu.c8
-rw-r--r--isisd/isis_te.c6
-rw-r--r--tests/topotests/bgp_multiview_topo1/test_bgp_multiview_topo1.py2
-rwxr-xr-xtests/topotests/bgp_srv6l3vpn_to_bgp_vrf/test_bgp_srv6l3vpn_to_bgp_vrf.py2
-rw-r--r--tests/topotests/ospf6_ecmp_inter_area/test_ospf6_ecmp_inter_area.py2
-rw-r--r--tests/topotests/route_scale/scale_test_common.py2
-rwxr-xr-xtests/topotests/zebra_seg6local_route/test_zebra_seg6local_route.py2
11 files changed, 30 insertions, 47 deletions
diff --git a/isisd/fabricd.c b/isisd/fabricd.c
index 3e0d4ba549..d431787ebb 100644
--- a/isisd/fabricd.c
+++ b/isisd/fabricd.c
@@ -728,7 +728,7 @@ void fabricd_trigger_csnp(struct isis_area *area, bool circuit_scoped)
struct list *fabricd_ip_addrs(struct isis_circuit *circuit)
{
- if (circuit->ip_addrs && listcount(circuit->ip_addrs))
+ if (listcount(circuit->ip_addrs))
return circuit->ip_addrs;
if (!fabricd || !circuit->area || !circuit->area->circuit_list)
@@ -741,7 +741,7 @@ struct list *fabricd_ip_addrs(struct isis_circuit *circuit)
if (c->circ_type != CIRCUIT_T_LOOPBACK)
continue;
- if (!c->ip_addrs || !listcount(c->ip_addrs))
+ if (!listcount(c->ip_addrs))
return NULL;
return c->ip_addrs;
diff --git a/isisd/isis_bfd.c b/isisd/isis_bfd.c
index 9e8267b6e8..1877c831fd 100644
--- a/isisd/isis_bfd.c
+++ b/isisd/isis_bfd.c
@@ -97,7 +97,7 @@ static void bfd_handle_adj_up(struct isis_adjacency *adj)
family = AF_INET6;
dst_ip.ipv6 = adj->ll_ipv6_addrs[0];
local_ips = circuit->ipv6_link;
- if (!local_ips || list_isempty(local_ips)) {
+ if (list_isempty(local_ips)) {
if (IS_DEBUG_BFD)
zlog_debug(
"ISIS-BFD: skipping BFD initialization: IPv6 enabled and no local IPv6 addresses");
diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c
index fedceed3bb..28d4b530fc 100644
--- a/isisd/isis_circuit.c
+++ b/isisd/isis_circuit.c
@@ -185,6 +185,10 @@ struct isis_circuit *isis_circuit_new(struct interface *ifp, const char *tag)
isis_circuit_if_bind(circuit, ifp);
+ circuit->ip_addrs = list_new();
+ circuit->ipv6_link = list_new();
+ circuit->ipv6_non_link = list_new();
+
if (ifp->ifindex != IFINDEX_INTERNAL)
isis_circuit_enable(circuit);
@@ -209,6 +213,10 @@ void isis_circuit_del(struct isis_circuit *circuit)
isis_lfa_excluded_ifaces_clear(circuit, ISIS_LEVEL1);
isis_lfa_excluded_ifaces_clear(circuit, ISIS_LEVEL2);
+ list_delete(&circuit->ip_addrs);
+ list_delete(&circuit->ipv6_link);
+ list_delete(&circuit->ipv6_non_link);
+
XFREE(MTYPE_TMP, circuit->bfd_config.profile);
XFREE(MTYPE_ISIS_CIRCUIT, circuit->tag);
@@ -509,10 +517,6 @@ void isis_circuit_if_add(struct isis_circuit *circuit, struct interface *ifp)
circuit->circ_type = CIRCUIT_T_UNKNOWN;
}
- circuit->ip_addrs = list_new();
- circuit->ipv6_link = list_new();
- circuit->ipv6_non_link = list_new();
-
for (ALL_LIST_ELEMENTS(ifp->connected, node, nnode, conn))
isis_circuit_add_addr(circuit, conn);
@@ -529,21 +533,6 @@ void isis_circuit_if_del(struct isis_circuit *circuit, struct interface *ifp)
for (ALL_LIST_ELEMENTS(ifp->connected, node, nnode, conn))
isis_circuit_del_addr(circuit, conn);
- if (circuit->ip_addrs) {
- assert(listcount(circuit->ip_addrs) == 0);
- list_delete(&circuit->ip_addrs);
- }
-
- if (circuit->ipv6_link) {
- assert(listcount(circuit->ipv6_link) == 0);
- list_delete(&circuit->ipv6_link);
- }
-
- if (circuit->ipv6_non_link) {
- assert(listcount(circuit->ipv6_non_link) == 0);
- list_delete(&circuit->ipv6_non_link);
- }
-
circuit->circ_type = CIRCUIT_T_UNKNOWN;
}
@@ -1046,7 +1035,7 @@ void isis_circuit_print_json(struct isis_circuit *circuit,
json_object_array_add(levels_json, level_json);
}
- if (circuit->ip_addrs && listcount(circuit->ip_addrs) > 0) {
+ if (listcount(circuit->ip_addrs) > 0) {
ipv4_addr_json = json_object_new_object();
json_object_object_add(iface_json, "ip-prefix",
ipv4_addr_json);
@@ -1058,7 +1047,7 @@ void isis_circuit_print_json(struct isis_circuit *circuit,
buf_prx);
}
}
- if (circuit->ipv6_link && listcount(circuit->ipv6_link) > 0) {
+ if (listcount(circuit->ipv6_link) > 0) {
ipv6_link_json = json_object_new_object();
json_object_object_add(iface_json, "ipv6-link-locals",
ipv6_link_json);
@@ -1070,8 +1059,7 @@ void isis_circuit_print_json(struct isis_circuit *circuit,
buf_prx);
}
}
- if (circuit->ipv6_non_link &&
- listcount(circuit->ipv6_non_link) > 0) {
+ if (listcount(circuit->ipv6_non_link) > 0) {
ipv6_non_link_json = json_object_new_object();
json_object_object_add(iface_json, "ipv6-prefixes",
ipv6_non_link_json);
@@ -1183,20 +1171,19 @@ void isis_circuit_print_vty(struct isis_circuit *circuit, struct vty *vty,
vty_out(vty, "\n");
}
}
- if (circuit->ip_addrs && listcount(circuit->ip_addrs) > 0) {
+ if (listcount(circuit->ip_addrs) > 0) {
vty_out(vty, " IP Prefix(es):\n");
for (ALL_LIST_ELEMENTS_RO(circuit->ip_addrs, node,
ip_addr))
vty_out(vty, " %pFX\n", ip_addr);
}
- if (circuit->ipv6_link && listcount(circuit->ipv6_link) > 0) {
+ if (listcount(circuit->ipv6_link) > 0) {
vty_out(vty, " IPv6 Link-Locals:\n");
for (ALL_LIST_ELEMENTS_RO(circuit->ipv6_link, node,
ip_addr))
vty_out(vty, " %pFX\n", ip_addr);
}
- if (circuit->ipv6_non_link
- && listcount(circuit->ipv6_non_link) > 0) {
+ if (listcount(circuit->ipv6_non_link) > 0) {
vty_out(vty, " IPv6 Prefixes:\n");
for (ALL_LIST_ELEMENTS_RO(circuit->ipv6_non_link, node,
ip_addr))
diff --git a/isisd/isis_lsp.c b/isisd/isis_lsp.c
index eb7e9e725e..8dbd41b5d9 100644
--- a/isisd/isis_lsp.c
+++ b/isisd/isis_lsp.c
@@ -1171,8 +1171,7 @@ static void lsp_build(struct isis_lsp *lsp, struct isis_area *area)
? circuit->metric[level - 1]
: circuit->te_metric[level - 1];
- if (circuit->ip_router && circuit->ip_addrs
- && circuit->ip_addrs->count > 0) {
+ if (circuit->ip_router && circuit->ip_addrs->count > 0) {
lsp_debug(
"ISIS (%s): Circuit has IPv4 active, adding respective TLVs.",
area->area_tag);
@@ -1206,8 +1205,7 @@ static void lsp_build(struct isis_lsp *lsp, struct isis_area *area)
}
}
- if (circuit->ipv6_router && circuit->ipv6_non_link
- && circuit->ipv6_non_link->count > 0) {
+ if (circuit->ipv6_router && circuit->ipv6_non_link->count > 0) {
struct listnode *ipnode;
struct prefix_ipv6 *ipv6;
diff --git a/isisd/isis_pdu.c b/isisd/isis_pdu.c
index 016efd5cd7..b1fbfd5140 100644
--- a/isisd/isis_pdu.c
+++ b/isisd/isis_pdu.c
@@ -778,8 +778,8 @@ static int process_hello(uint8_t pdu_type, struct isis_circuit *circuit,
iih.v4_usable = (fabricd_ip_addrs(circuit)
&& iih.tlvs->ipv4_address.count);
- iih.v6_usable = (circuit->ipv6_link && listcount(circuit->ipv6_link)
- && iih.tlvs->ipv6_address.count);
+ iih.v6_usable =
+ (listcount(circuit->ipv6_link) && iih.tlvs->ipv6_address.count);
if (!iih.v4_usable && !iih.v6_usable) {
if (IS_DEBUG_ADJ_PACKETS) {
@@ -1969,11 +1969,11 @@ int send_hello(struct isis_circuit *circuit, int level)
isis_tlvs_add_ipv4_addresses(tlvs, circuit_ip_addrs);
}
- if (circuit->ipv6_router && circuit->ipv6_link)
+ if (circuit->ipv6_router)
isis_tlvs_add_ipv6_addresses(tlvs, circuit->ipv6_link);
/* RFC6119 section 4 define TLV 233 to provide Global IPv6 address */
- if (circuit->ipv6_router && circuit->ipv6_non_link)
+ if (circuit->ipv6_router)
isis_tlvs_add_global_ipv6_addresses(tlvs,
circuit->ipv6_non_link);
diff --git a/isisd/isis_te.c b/isisd/isis_te.c
index 579ae6aaba..3faff1cc4d 100644
--- a/isisd/isis_te.c
+++ b/isisd/isis_te.c
@@ -108,8 +108,7 @@ void isis_link_params_update(struct isis_circuit *circuit,
UNSET_SUBTLV(ext, EXT_ADM_GRP);
/* If known, register local IPv4 addr from ip_addr list */
- if (circuit->ip_addrs != NULL
- && listcount(circuit->ip_addrs) != 0) {
+ if (listcount(circuit->ip_addrs) != 0) {
addr = (struct prefix_ipv4 *)listgetdata(
(struct listnode *)listhead(circuit->ip_addrs));
IPV4_ADDR_COPY(&ext->local_addr, &addr->prefix);
@@ -118,8 +117,7 @@ void isis_link_params_update(struct isis_circuit *circuit,
UNSET_SUBTLV(ext, EXT_LOCAL_ADDR);
/* If known, register local IPv6 addr from ip_addr list */
- if (circuit->ipv6_non_link != NULL
- && listcount(circuit->ipv6_non_link) != 0) {
+ if (listcount(circuit->ipv6_non_link) != 0) {
addr6 = (struct prefix_ipv6 *)listgetdata(
(struct listnode *)listhead(
circuit->ipv6_non_link));
diff --git a/tests/topotests/bgp_multiview_topo1/test_bgp_multiview_topo1.py b/tests/topotests/bgp_multiview_topo1/test_bgp_multiview_topo1.py
index 9f4399d6d5..77619e59bb 100644
--- a/tests/topotests/bgp_multiview_topo1/test_bgp_multiview_topo1.py
+++ b/tests/topotests/bgp_multiview_topo1/test_bgp_multiview_topo1.py
@@ -169,7 +169,7 @@ def test_bgp_converge():
for i in range(1, 2):
for view in range(1, 4):
notConverged = tgen.net["r%s" % i].cmd(
- 'vtysh -c "show ip bgp view %s summary" 2> /dev/null | grep ^[0-9] | grep -vP " 11\s+(\d+)"'
+ r'vtysh -c "show ip bgp view %s summary" 2> /dev/null | grep ^[0-9] | grep -vP " 11\s+(\d+)"'
% view
)
if notConverged:
diff --git a/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/test_bgp_srv6l3vpn_to_bgp_vrf.py b/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/test_bgp_srv6l3vpn_to_bgp_vrf.py
index ffdcd08f80..10d890effb 100755
--- a/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/test_bgp_srv6l3vpn_to_bgp_vrf.py
+++ b/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/test_bgp_srv6l3vpn_to_bgp_vrf.py
@@ -41,7 +41,7 @@ pytestmark = [pytest.mark.bgpd]
def build_topo(tgen):
- """
+ r"""
CE1 CE3 CE5
(eth0) (eth0) (eth0)
:2 :2 :2
diff --git a/tests/topotests/ospf6_ecmp_inter_area/test_ospf6_ecmp_inter_area.py b/tests/topotests/ospf6_ecmp_inter_area/test_ospf6_ecmp_inter_area.py
index 886b52c59c..553f936186 100644
--- a/tests/topotests/ospf6_ecmp_inter_area/test_ospf6_ecmp_inter_area.py
+++ b/tests/topotests/ospf6_ecmp_inter_area/test_ospf6_ecmp_inter_area.py
@@ -21,7 +21,7 @@
# OF THIS SOFTWARE.
#
-"""
+r"""
test_ospf6_ecmp_inter_area.py: Test OSPFv3 ECMP inter-area nexthop update
Check proper removal of ECMP nexthops after a path used by one nexthop
diff --git a/tests/topotests/route_scale/scale_test_common.py b/tests/topotests/route_scale/scale_test_common.py
index 3557cb4413..856a2d0fa7 100644
--- a/tests/topotests/route_scale/scale_test_common.py
+++ b/tests/topotests/route_scale/scale_test_common.py
@@ -158,7 +158,7 @@ def route_install_helper(iter):
# Avoid top ecmp case for runs with < 4G memory
output = tgen.net.cmd_raises("free")
- m = re.search("Mem:\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)", output)
+ m = re.search(r"Mem:\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)", output)
total_mem = int(m.group(2))
if total_mem < 4000000 and iter == 5:
logger.info(
diff --git a/tests/topotests/zebra_seg6local_route/test_zebra_seg6local_route.py b/tests/topotests/zebra_seg6local_route/test_zebra_seg6local_route.py
index 0da51cc8b2..d9cca5cd93 100755
--- a/tests/topotests/zebra_seg6local_route/test_zebra_seg6local_route.py
+++ b/tests/topotests/zebra_seg6local_route/test_zebra_seg6local_route.py
@@ -104,7 +104,7 @@ def test_zebra_seg6local_routes():
dest,
manifest["out"],
)
- success, result = topotest.run_and_expect(test_func, None, count=5, wait=1)
+ success, result = topotest.run_and_expect(test_func, None, count=25, wait=1)
assert result is None, "Failed"