From 18e293310f99875c8103ac60a97d55a8e1c7393d Mon Sep 17 00:00:00 2001 From: claudio Date: Fri, 13 Feb 2026 18:27:40 +0000 Subject: [PATCH] Add rde filter stats for the new out filters. OK tb@ --- usr.sbin/bgpctl/output.c | 6 +++++- usr.sbin/bgpctl/output_json.c | 6 ++++-- usr.sbin/bgpctl/output_ometric.c | 6 ++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/usr.sbin/bgpctl/output.c b/usr.sbin/bgpctl/output.c index 7d80ffee0b7..4283a99ed52 100644 --- a/usr.sbin/bgpctl/output.c +++ b/usr.sbin/bgpctl/output.c @@ -1,4 +1,4 @@ -/* $OpenBSD: output.c,v 1.68 2026/02/04 11:48:33 claudio Exp $ */ +/* $OpenBSD: output.c,v 1.69 2026/02/13 18:27:40 claudio Exp $ */ /* * Copyright (c) 2003 Henning Brauer @@ -1104,6 +1104,10 @@ show_rib_mem(struct rde_memstats *stats) printf("%10lld pending prefix entries using %s of memory\n", stats->pend_prefix_cnt, fmt_mem(stats->pend_prefix_cnt * sizeof(struct pend_prefix))); + printf("%10lld filters using %s of memory\n", + stats->filter_cnt, fmt_mem(stats->filter_size)); + printf("\t and holding %lld references\n", + stats->filter_refs); printf("%10lld filter-sets using %s of memory\n", stats->filter_set_cnt, fmt_mem(stats->filter_set_size)); printf("\t and holding %lld references\n", diff --git a/usr.sbin/bgpctl/output_json.c b/usr.sbin/bgpctl/output_json.c index 87722738b4b..04b6c709466 100644 --- a/usr.sbin/bgpctl/output_json.c +++ b/usr.sbin/bgpctl/output_json.c @@ -1,4 +1,4 @@ -/* $OpenBSD: output_json.c,v 1.59 2026/02/04 11:48:33 claudio Exp $ */ +/* $OpenBSD: output_json.c,v 1.60 2026/02/13 18:27:40 claudio Exp $ */ /* * Copyright (c) 2020 Claudio Jeker @@ -938,10 +938,12 @@ json_rib_mem(struct rde_memstats *stats) json_do_end(); json_do_object("filters", 0); + json_rib_mem_element("filter", stats->filter_cnt, + stats->filter_size, stats->filter_refs); json_rib_mem_element("filter_set", stats->filter_set_cnt, stats->filter_set_size, stats->filter_set_refs); json_rib_mem_element("total", UINT64_MAX, - stats->filter_set_size, UINT64_MAX); + stats->filter_size + stats->filter_set_size, UINT64_MAX); json_do_end(); json_do_object("sets", 0); diff --git a/usr.sbin/bgpctl/output_ometric.c b/usr.sbin/bgpctl/output_ometric.c index d8d2b3b7d58..b56d95fd7c6 100644 --- a/usr.sbin/bgpctl/output_ometric.c +++ b/usr.sbin/bgpctl/output_ometric.c @@ -1,4 +1,4 @@ -/* $OpenBSD: output_ometric.c,v 1.23 2026/02/04 11:48:33 claudio Exp $ */ +/* $OpenBSD: output_ometric.c,v 1.24 2026/02/13 18:27:40 claudio Exp $ */ /* * Copyright (c) 2022 Claudio Jeker @@ -327,10 +327,12 @@ ometric_rib_mem(struct rde_memstats *stats) stats->aspath_size + stats->attr_cnt * sizeof(struct attr) + stats->attr_data, UINT64_MAX); + ometric_rib_mem_element("filter", stats->filter_cnt, + stats->filter_size, stats->filter_refs); ometric_rib_mem_element("filter_set", stats->filter_set_cnt, stats->filter_set_size, stats->filter_set_refs); ometric_rib_mem_element("filter_total", UINT64_MAX, - stats->filter_set_size, UINT64_MAX); + stats->filter_size + stats->filter_set_size, UINT64_MAX); ometric_set_int(rde_table_count, stats->aset_cnt, NULL);