mgmtd/zebra: zebra: add per-source route-count support under /frr-zebra:lib/vrf[DRAFT] #21280
+982
−13
frrbot / frrbot
completed
Mar 21, 2026 in 11s
Style and/or linter errors found
Style and/or linter errors found
Details
Thanks for your contribution to FRR!
Click for style suggestions
diff --git a/lib/mgmt_fe_client.c b/lib/mgmt_fe_client.c
index b69a12dbee..d39981d4bf 100644
--- a/lib/mgmt_fe_client.c
+++ b/lib/mgmt_fe_client.c
@@ -300,8 +300,8 @@ int mgmt_fe_send_commit_req(struct mgmt_fe_client *client, uint64_t session_id,
}
int mgmt_fe_send_notify_select_req(struct mgmt_fe_client *client, uint64_t session_id,
- uint64_t req_id, bool replace, uint8_t mode,
- uint32_t mode_data, const char **selectors)
+ uint64_t req_id, bool replace, uint8_t mode, uint32_t mode_data,
+ const char **selectors)
{
struct mgmt_msg_notify_select *msg;
uint i;
@@ -324,8 +324,7 @@ int mgmt_fe_send_notify_select_req(struct mgmt_fe_client *client, uint64_t sessi
debug_fe_client("Sending NOTIFY_SELECT session-id %" PRIu64 " req-id %" PRIu64
" mode=%u mode-data=%u selectors=%u",
- session_id, req_id, msg->mode, msg->mode_data,
- darr_len(selectors));
+ session_id, req_id, msg->mode, msg->mode_data, darr_len(selectors));
ret = mgmt_msg_native_send_msg(&client->client.conn, msg, false);
ret = fe_client_push_sent_msg(client, (struct mgmt_msg_header *)msg, ret);
diff --git a/lib/mgmt_fe_client.h b/lib/mgmt_fe_client.h
index fbd34d2aec..1061d79670 100644
--- a/lib/mgmt_fe_client.h
+++ b/lib/mgmt_fe_client.h
@@ -266,10 +266,9 @@ extern int mgmt_fe_send_commit_req(struct mgmt_fe_client *client, uint64_t sessi
* Returns:
* 0 on success, otherwise msg_conn_send_msg() return values.
*/
-extern int mgmt_fe_send_notify_select_req(struct mgmt_fe_client *client,
- uint64_t session_id, uint64_t req_id, bool replace,
- uint8_t mode, uint32_t mode_data,
- const char **selectors);
+extern int mgmt_fe_send_notify_select_req(struct mgmt_fe_client *client, uint64_t session_id,
+ uint64_t req_id, bool replace, uint8_t mode,
+ uint32_t mode_data, const char **selectors);
/*
* Send GET-DATA to MGMTD daemon.
diff --git a/mgmtd/mgmt_fe_adapter.c b/mgmtd/mgmt_fe_adapter.c
index 186f27a72f..84d9adec50 100644
--- a/mgmtd/mgmt_fe_adapter.c
+++ b/mgmtd/mgmt_fe_adapter.c
@@ -256,9 +256,9 @@ static uint64_t fe_session_notify_clients(struct mgmt_fe_session_ctx *session)
/* Resolve BE adapters that can serve the session's selector set. */
darr_foreach_p (session->notify_xpaths, sp)
clients |= mgmt_be_interested_clients(*sp, MGMT_BE_XPATH_SUBSCR_TYPE_OPER,
- "sample-timer-oper")
- | mgmt_be_interested_clients(*sp, MGMT_BE_XPATH_SUBSCR_TYPE_NOTIF,
- "sample-timer-notif");
+ "sample-timer-oper") |
+ mgmt_be_interested_clients(*sp, MGMT_BE_XPATH_SUBSCR_TYPE_NOTIF,
+ "sample-timer-notif");
return clients;
}
@@ -1128,10 +1128,9 @@ static void fe_session_handle_get_data(struct mgmt_fe_session_ctx *session, void
if (in_oper)
clients = mgmt_be_interested_clients(msg->xpath, MGMT_BE_XPATH_SUBSCR_TYPE_OPER,
- "GET-DATA-oper")
- | mgmt_be_interested_clients(msg->xpath,
- MGMT_BE_XPATH_SUBSCR_TYPE_NOTIF,
- "GET-DATA-notif");
+ "GET-DATA-oper") |
+ mgmt_be_interested_clients(msg->xpath, MGMT_BE_XPATH_SUBSCR_TYPE_NOTIF,
+ "GET-DATA-notif");
if (!clients && !ylib && !CHECK_FLAG(msg->flags, GET_DATA_FLAG_CONFIG)) {
_dbg("No backends provide xpath: %s for txn-id: %" PRIu64 " session-id: %" PRIu64,
@@ -1402,8 +1401,8 @@ static void fe_session_handle_notify_select(struct mgmt_fe_session_ctx *session,
}
if (msg->mode != NOTIFY_MODE_ON_CHANGE && msg->mode != NOTIFY_MODE_PERIODIC) {
- fe_session_send_error(session, req_id, false, -EINVAL,
- "Invalid mode: %u", msg->mode);
+ fe_session_send_error(session, req_id, false, -EINVAL, "Invalid mode: %u",
+ msg->mode);
darr_free_free(selectors);
return;
}
diff --git a/tests/topotests/lib/fe_client.py b/tests/topotests/lib/fe_client.py
index ff3b6168f5..79d54d203a 100755
--- a/tests/topotests/lib/fe_client.py
+++ b/tests/topotests/lib/fe_client.py
@@ -551,7 +551,9 @@ def __main():
if args.listen is not None:
i = args.notify_count
notify_mode = (
- NOTIFY_MODE_PERIODIC if args.notify_mode == "periodic" else NOTIFY_MODE_ON_CHANGE
+ NOTIFY_MODE_PERIODIC
+ if args.notify_mode == "periodic"
+ else NOTIFY_MODE_ON_CHANGE
)
if args.listen:
sess.add_notify_select(
diff --git a/zebra/zebra_nb.h b/zebra/zebra_nb.h
index 66d98bb55e..d88bccab1f 100644
--- a/zebra/zebra_nb.h
+++ b/zebra/zebra_nb.h
@@ -501,38 +501,22 @@ const void *lib_vrf_get_next(struct nb_cb_get_next_args *args);
int lib_vrf_get_keys(struct nb_cb_get_keys_args *args);
const void *lib_vrf_lookup_entry(struct nb_cb_lookup_entry_args *args);
struct yang_data *lib_vrf_id_get_elem(struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ipv4_route_count_total_get_elem(
- struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ipv4_route_count_connected_get_elem(
- struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ipv4_route_count_bgp_get_elem(
- struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ipv4_route_count_kernel_get_elem(
- struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ipv4_route_count_static_get_elem(
- struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ipv4_route_count_ospf_get_elem(
- struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ipv4_route_count_table_get_elem(
- struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ipv4_route_count_pbr_get_elem(
- struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ipv6_route_count_total_get_elem(
- struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ipv6_route_count_connected_get_elem(
- struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ipv6_route_count_bgp_get_elem(
- struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ipv6_route_count_kernel_get_elem(
- struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ipv6_route_count_static_get_elem(
- struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ipv6_route_count_ospf_get_elem(
- struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ipv6_route_count_table_get_elem(
- struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ipv6_route_count_pbr_get_elem(
- struct nb_cb_get_elem_args *args);
+struct yang_data *lib_vrf_ipv4_route_count_total_get_elem(struct nb_cb_get_elem_args *args);
+struct yang_data *lib_vrf_ipv4_route_count_connected_get_elem(struct nb_cb_get_elem_args *args);
+struct yang_data *lib_vrf_ipv4_route_count_bgp_get_elem(struct nb_cb_get_elem_args *args);
+struct yang_data *lib_vrf_ipv4_route_count_kernel_get_elem(struct nb_cb_get_elem_args *args);
+struct yang_data *lib_vrf_ipv4_route_count_static_get_elem(struct nb_cb_get_elem_args *args);
+struct yang_data *lib_vrf_ipv4_route_count_ospf_get_elem(struct nb_cb_get_elem_args *args);
+struct yang_data *lib_vrf_ipv4_route_count_table_get_elem(struct nb_cb_get_elem_args *args);
+struct yang_data *lib_vrf_ipv4_route_count_pbr_get_elem(struct nb_cb_get_elem_args *args);
+struct yang_data *lib_vrf_ipv6_route_count_total_get_elem(struct nb_cb_get_elem_args *args);
+struct yang_data *lib_vrf_ipv6_route_count_connected_get_elem(struct nb_cb_get_elem_args *args);
+struct yang_data *lib_vrf_ipv6_route_count_bgp_get_elem(struct nb_cb_get_elem_args *args);
+struct yang_data *lib_vrf_ipv6_route_count_kernel_get_elem(struct nb_cb_get_elem_args *args);
+struct yang_data *lib_vrf_ipv6_route_count_static_get_elem(struct nb_cb_get_elem_args *args);
+struct yang_data *lib_vrf_ipv6_route_count_ospf_get_elem(struct nb_cb_get_elem_args *args);
+struct yang_data *lib_vrf_ipv6_route_count_table_get_elem(struct nb_cb_get_elem_args *args);
+struct yang_data *lib_vrf_ipv6_route_count_pbr_get_elem(struct nb_cb_get_elem_args *args);
struct yang_data *lib_vrf_nhg_count_get_elem(struct nb_cb_get_elem_args *args);
int lib_vrf_zebra_l3vni_id_modify(struct nb_cb_modify_args *args);
int lib_vrf_zebra_l3vni_id_destroy(struct nb_cb_destroy_args *args);
diff --git a/zebra/zebra_nb_state.c b/zebra/zebra_nb_state.c
index 892718cbfd..8d6d1c5248 100644
--- a/zebra/zebra_nb_state.c
+++ b/zebra/zebra_nb_state.c
@@ -1241,8 +1241,7 @@ struct yang_data *lib_vrf_id_get_elem(struct nb_cb_get_elem_args *args)
return yang_data_new_string(args->xpath, vrfp->name);
}
-static uint32_t lib_get_route_count(afi_t afi, safi_t safi, vrf_id_t vrf_id,
- uint8_t route_type)
+static uint32_t lib_get_route_count(afi_t afi, safi_t safi, vrf_id_t vrf_id, uint8_t route_type)
{
struct route_table *table;
struct rib_table_info *info;
@@ -1285,209 +1284,191 @@ static uint32_t lib_get_total_route_count(afi_t afi, safi_t safi, vrf_id_t vrf_i
/*
* XPath: /frr-zebra:lib/vrf/ipv4-route-count/total
*/
-struct yang_data *
-lib_vrf_ipv4_route_count_total_get_elem(struct nb_cb_get_elem_args *args)
+struct yang_data *lib_vrf_ipv4_route_count_total_get_elem(struct nb_cb_get_elem_args *args)
{
struct vrf *vrfp = (struct vrf *)args->list_entry;
- return yang_data_new_uint32(
- args->xpath,
- lib_get_total_route_count(AFI_IP, SAFI_UNICAST, vrfp->vrf_id));
+ return yang_data_new_uint32(args->xpath,
+ lib_get_total_route_count(AFI_IP, SAFI_UNICAST, vrfp->vrf_id));
}
/*
* XPath: /frr-zebra:lib/vrf/ipv4-route-count/connected
*/
-struct yang_data *
-lib_vrf_ipv4_route_count_connected_get_elem(struct nb_cb_get_elem_args *args)
+struct yang_data *lib_vrf_ipv4_route_count_connected_get_elem(struct nb_cb_get_elem_args *args)
{
struct vrf *vrfp = (struct vrf *)args->list_entry;
- return yang_data_new_uint32(
- args->xpath, lib_get_route_count(AFI_IP, SAFI_UNICAST, vrfp->vrf_id,
- ZEBRA_ROUTE_CONNECT));
+ return yang_data_new_uint32(args->xpath,
+ lib_get_route_count(AFI_IP, SAFI_UNICAST, vrfp->vrf_id,
+ ZEBRA_ROUTE_CONNECT));
}
/*
* XPath: /frr-zebra:lib/vrf/ipv4-route-count/bgp
*/
-struct yang_data *
-lib_vrf_ipv4_route_count_bgp_get_elem(struct nb_cb_get_elem_args *args)
+struct yang_data *lib_vrf_ipv4_route_count_bgp_get_elem(struct nb_cb_get_elem_args *args)
{
struct vrf *vrfp = (struct vrf *)args->list_entry;
- return yang_data_new_uint32(
- args->xpath,
- lib_get_route_count(AFI_IP, SAFI_UNICAST, vrfp->vrf_id, ZEBRA_ROUTE_BGP));
+ return yang_data_new_uint32(args->xpath,
+ lib_get_route_count(AFI_IP, SAFI_UNICAST, vrfp->vrf_id,
+ ZEBRA_ROUTE_BGP));
}
/*
* XPath: /frr-zebra:lib/vrf/ipv4-route-count/kernel
*/
-struct yang_data *
-lib_vrf_ipv4_route_count_kernel_get_elem(struct nb_cb_get_elem_args *args)
+struct yang_data *lib_vrf_ipv4_route_count_kernel_get_elem(struct nb_cb_get_elem_args *args)
{
struct vrf *vrfp = (struct vrf *)args->list_entry;
- return yang_data_new_uint32(
- args->xpath, lib_get_route_count(AFI_IP, SAFI_UNICAST, vrfp->vrf_id,
- ZEBRA_ROUTE_KERNEL));
+ return yang_data_new_uint32(args->xpath,
+ lib_get_route_count(AFI_IP, SAFI_UNICAST, vrfp->vrf_id,
+ ZEBRA_ROUTE_KERNEL));
}
/*
* XPath: /frr-zebra:lib/vrf/ipv4-route-count/static
*/
-struct yang_data *
-lib_vrf_ipv4_route_count_static_get_elem(struct nb_cb_get_elem_args *args)
+struct yang_data *lib_vrf_ipv4_route_count_static_get_elem(struct nb_cb_get_elem_args *args)
{
struct vrf *vrfp = (struct vrf *)args->list_entry;
- return yang_data_new_uint32(
- args->xpath, lib_get_route_count(AFI_IP, SAFI_UNICAST, vrfp->vrf_id,
- ZEBRA_ROUTE_STATIC));
+ return yang_data_new_uint32(args->xpath,
+ lib_get_route_count(AFI_IP, SAFI_UNICAST, vrfp->vrf_id,
+ ZEBRA_ROUTE_STATIC));
}
/*
* XPath: /frr-zebra:lib/vrf/ipv4-route-count/ospf
*/
-struct yang_data *
-lib_vrf_ipv4_route_count_ospf_get_elem(struct nb_cb_get_elem_args *args)
+struct yang_data *lib_vrf_ipv4_route_count_ospf_get_elem(struct nb_cb_get_elem_args *args)
{
struct vrf *vrfp = (struct vrf *)args->list_entry;
- return yang_data_new_uint32(
- args->xpath, lib_get_route_count(AFI_IP, SAFI_UNICAST, vrfp->vrf_id,
- ZEBRA_ROUTE_OSPF));
+ return yang_data_new_uint32(args->xpath,
+ lib_get_route_count(AFI_IP, SAFI_UNICAST, vrfp->vrf_id,
+ ZEBRA_ROUTE_OSPF));
}
/*
* XPath: /frr-zebra:lib/vrf/ipv4-route-count/table
*/
-struct yang_data *
-lib_vrf_ipv4_route_count_table_get_elem(struct nb_cb_get_elem_args *args)
+struct yang_data *lib_vrf_ipv4_route_count_table_get_elem(struct nb_cb_get_elem_args *args)
{
struct vrf *vrfp = (struct vrf *)args->list_entry;
- return yang_data_new_uint32(
- args->xpath, lib_get_route_count(AFI_IP, SAFI_UNICAST, vrfp->vrf_id,
- ZEBRA_ROUTE_TABLE));
+ return yang_data_new_uint32(args->xpath,
+ lib_get_route_count(AFI_IP, SAFI_UNICAST, vrfp->vrf_id,
+ ZEBRA_ROUTE_TABLE));
}
/*
* XPath: /frr-zebra:lib/vrf/ipv4-route-count/pbr
*/
-struct yang_data *
-lib_vrf_ipv4_route_count_pbr_get_elem(struct nb_cb_get_elem_args *args)
+struct yang_data *lib_vrf_ipv4_route_count_pbr_get_elem(struct nb_cb_get_elem_args *args)
{
struct vrf *vrfp = (struct vrf *)args->list_entry;
- return yang_data_new_uint32(
- args->xpath, lib_get_route_count(AFI_IP, SAFI_UNICAST, vrfp->vrf_id,
- ZEBRA_ROUTE_PBR));
+ return yang_data_new_uint32(args->xpath,
+ lib_get_route_count(AFI_IP, SAFI_UNICAST, vrfp->vrf_id,
+ ZEBRA_ROUTE_PBR));
}
/*
* XPath: /frr-zebra:lib/vrf/ipv6-route-count/total
*/
-struct yang_data *
-lib_vrf_ipv6_route_count_total_get_elem(struct nb_cb_get_elem_args *args)
+struct yang_data *lib_vrf_ipv6_route_count_total_get_elem(struct nb_cb_get_elem_args *args)
{
struct vrf *vrfp = (struct vrf *)args->list_entry;
- return yang_data_new_uint32(
- args->xpath,
- lib_get_total_route_count(AFI_IP6, SAFI_UNICAST, vrfp->vrf_id));
+ return yang_data_new_uint32(args->xpath, lib_get_total_route_count(AFI_IP6, SAFI_UNICAST,
+ vrfp->vrf_id));
}
/*
* XPath: /frr-zebra:lib/vrf/ipv6-route-count/connected
*/
-struct yang_data *
-lib_vrf_ipv6_route_count_connected_get_elem(struct nb_cb_get_elem_args *args)
+struct yang_data *lib_vrf_ipv6_route_count_connected_get_elem(struct nb_cb_get_elem_args *args)
{
struct vrf *vrfp = (struct vrf *)args->list_entry;
- return yang_data_new_uint32(
- args->xpath, lib_get_route_count(AFI_IP6, SAFI_UNICAST, vrfp->vrf_id,
- ZEBRA_ROUTE_CONNECT));
+ return yang_data_new_uint32(args->xpath,
+ lib_get_route_count(AFI_IP6, SAFI_UNICAST, vrfp->vrf_id,
+ ZEBRA_ROUTE_CONNECT));
}
/*
* XPath: /frr-zebra:lib/vrf/ipv6-route-count/bgp
*/
-struct yang_data *
-lib_vrf_ipv6_route_count_bgp_get_elem(struct nb_cb_get_elem_args *args)
+struct yang_data *lib_vrf_ipv6_route_count_bgp_get_elem(struct nb_cb_get_elem_args *args)
{
struct vrf *vrfp = (struct vrf *)args->list_entry;
- return yang_data_new_uint32(
- args->xpath,
- lib_get_route_count(AFI_IP6, SAFI_UNICAST, vrfp->vrf_id, ZEBRA_ROUTE_BGP));
+ return yang_data_new_uint32(args->xpath,
+ lib_get_route_count(AFI_IP6, SAFI_UNICAST, vrfp->vrf_id,
+ ZEBRA_ROUTE_BGP));
}
/*
* XPath: /frr-zebra:lib/vrf/ipv6-route-count/kernel
*/
-struct yang_data *
-lib_vrf_ipv6_route_count_kernel_get_elem(struct nb_cb_get_elem_args *args)
+struct yang_data *lib_vrf_ipv6_route_count_kernel_get_elem(struct nb_cb_get_elem_args *args)
{
struct vrf *vrfp = (struct vrf *)args->list_entry;
- return yang_data_new_uint32(
- args->xpath, lib_get_route_count(AFI_IP6, SAFI_UNICAST, vrfp->vrf_id,
- ZEBRA_ROUTE_KERNEL));
+ return yang_data_new_uint32(args->xpath,
+ lib_get_route_count(AFI_IP6, SAFI_UNICAST, vrfp->vrf_id,
+ ZEBRA_ROUTE_KERNEL));
}
/*
* XPath: /frr-zebra:lib/vrf/ipv6-route-count/static
*/
-struct yang_data *
-lib_vrf_ipv6_route_count_static_get_elem(struct nb_cb_get_elem_args *args)
+struct yang_data *lib_vrf_ipv6_route_count_static_get_elem(struct nb_cb_get_elem_args *args)
{
struct vrf *vrfp = (struct vrf *)args->list_entry;
- return yang_data_new_uint32(
- args->xpath, lib_get_route_count(AFI_IP6, SAFI_UNICAST, vrfp->vrf_id,
- ZEBRA_ROUTE_STATIC));
+ return yang_data_new_uint32(args->xpath,
+ lib_get_route_count(AFI_IP6, SAFI_UNICAST, vrfp->vrf_id,
+ ZEBRA_ROUTE_STATIC));
}
/*
* XPath: /frr-zebra:lib/vrf/ipv6-route-count/ospf
*/
-struct yang_data *
-lib_vrf_ipv6_route_count_ospf_get_elem(struct nb_cb_get_elem_args *args)
+struct yang_data *lib_vrf_ipv6_route_count_ospf_get_elem(struct nb_cb_get_elem_args *args)
{
struct vrf *vrfp = (struct vrf *)args->list_entry;
- return yang_data_new_uint32(
- args->xpath, lib_get_route_count(AFI_IP6, SAFI_UNICAST, vrfp->vrf_id,
- ZEBRA_ROUTE_OSPF6));
+ return yang_data_new_uint32(args->xpath,
+ lib_get_route_count(AFI_IP6, SAFI_UNICAST, vrfp->vrf_id,
+ ZEBRA_ROUTE_OSPF6));
}
/*
* XPath: /frr-zebra:lib/vrf/ipv6-route-count/table
*/
-struct yang_data *
-lib_vrf_ipv6_route_count_table_get_elem(struct nb_cb_get_elem_args *args)
+struct yang_data *lib_vrf_ipv6_route_count_table_get_elem(struct nb_cb_get_elem_args *args)
{
struct vrf *vrfp = (struct vrf *)args->list_entry;
- return yang_data_new_uint32(
- args->xpath, lib_get_route_count(AFI_IP6, SAFI_UNICAST, vrfp->vrf_id,
- ZEBRA_ROUTE_TABLE));
+ return yang_data_new_uint32(args->xpath,
+ lib_get_route_count(AFI_IP6, SAFI_UNICAST, vrfp->vrf_id,
+ ZEBRA_ROUTE_TABLE));
}
/*
* XPath: /frr-zebra:lib/vrf/ipv6-route-count/pbr
*/
-struct yang_data *
-lib_vrf_ipv6_route_count_pbr_get_elem(struct nb_cb_get_elem_args *args)
+struct yang_data *lib_vrf_ipv6_route_count_pbr_get_elem(struct nb_cb_get_elem_args *args)
{
struct vrf *vrfp = (struct vrf *)args->list_entry;
- return yang_data_new_uint32(
- args->xpath, lib_get_route_count(AFI_IP6, SAFI_UNICAST, vrfp->vrf_id,
- ZEBRA_ROUTE_PBR));
+ return yang_data_new_uint32(args->xpath,
+ lib_get_route_count(AFI_IP6, SAFI_UNICAST, vrfp->vrf_id,
+ ZEBRA_ROUTE_PBR));
}
/*
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c
index 0db618d116..a361773a2e 100644
--- a/zebra/zebra_rib.c
+++ b/zebra/zebra_rib.c
@@ -2732,8 +2732,7 @@ static void process_subq_early_route_add(struct zebra_early_route *ere)
{
struct rib_table_info *info = srcdest_rnode_table_info(rn);
- if (info && re->type < ZEBRA_ROUTE_MAX &&
- info->route_count[re->type] > 0)
+ if (info && re->type < ZEBRA_ROUTE_MAX && info->route_count[re->type] > 0)
info->route_count[re->type]--;
}
}
@@ -2983,8 +2982,7 @@ static void process_subq_early_route_delete(struct zebra_early_route *ere)
{
struct rib_table_info *info = srcdest_rnode_table_info(rn);
- if (info && re->type < ZEBRA_ROUTE_MAX &&
- info->route_count[re->type] > 0)
+ if (info && re->type < ZEBRA_ROUTE_MAX && info->route_count[re->type] > 0)
info->route_count[re->type]--;
}
}
@@ -4771,8 +4769,7 @@ void rib_sweep_table(struct route_table *table)
rib_uninstall_kernel(rn, re);
rib_delnode(rn, re);
{
- struct rib_table_info *info =
- srcdest_rnode_table_info(rn);
+ struct rib_table_info *info = srcdest_rnode_table_info(rn);
if (info && re->type < ZEBRA_ROUTE_MAX &&
info->route_count[re->type] > 0)
To apply the style suggestions:
curl https://gist.githubusercontent.com/polychaeta/b3d060434e69ace90d54ead1412b6fac/raw/14223600ef1cb072c2102563eb0cbd0ab4edf538/style.diff | git apply -
If you are a new contributor to FRR, please see our contributing guidelines.
After making changes, you do not need to create a new PR. You should perform an amend or interactive rebase followed by a force push.
Loading