summaryrefslogtreecommitdiff
path: root/isisd/isis_nb_config.c
diff options
context:
space:
mode:
authorIsabella de Leon <ideleon@microsoft.com>2023-01-06 10:06:23 -0800
committerIsabella de Leon <ideleon@microsoft.com>2023-02-28 11:39:12 -0800
commitd74f913c5f487a722b19bd01442b8fe13c4714e8 (patch)
treecb9cf781ba9111e2bdbcba8aee687cc994a071b6 /isisd/isis_nb_config.c
parent617d2b71c0d1b61dfb319f5f629953a95e6beef5 (diff)
isisd: Add advertise-high-metrics CLI/YANG support, modify show output
New config and show functionality: r1# conf r1(config)# router isis 1 r1(config-router)# advertise-high-metrics Advertise high metric value on all interfaces area-password Configure the authentication password for an area ... r1(config-router)# advertise-high-metrics r1(config-router)# end r1# show isis summary ... Area 1: Net: 49.0001.1720.1700.0002.00 TX counters per PDU type: L2 IIH: 1 P2P IIH: 36 LSP RXMT: 0 RX counters per PDU type: Advertise high metrics: Enabled Level-2: ... r1# conf r1(config)# router isis 1 r1(config-router)# no advertise-high-metrics r1(config-router)# end r1# show isis summary ... Area 1: Net: 49.0001.1720.1700.0002.00 TX counters per PDU type: L2 IIH: 1 P2P IIH: 45 LSP RXMT: 0 RX counters per PDU type: Advertise high metrics: Disabled Level-2: ... r1# Signed-off-by: Isabella de Leon <ideleon@microsoft.com>
Diffstat (limited to 'isisd/isis_nb_config.c')
-rw-r--r--isisd/isis_nb_config.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/isisd/isis_nb_config.c b/isisd/isis_nb_config.c
index ea021a4ff5..2b3355bc9f 100644
--- a/isisd/isis_nb_config.c
+++ b/isisd/isis_nb_config.c
@@ -361,6 +361,24 @@ int isis_instance_overload_on_startup_modify(struct nb_cb_modify_args *args)
}
/*
+ * XPath: /frr-isisd:isis/instance/advertise-high-metrics
+ */
+int isis_instance_advertise_high_metrics_modify(struct nb_cb_modify_args *args)
+{
+ struct isis_area *area;
+ bool advertise_high_metrics;
+
+ if (args->event != NB_EV_APPLY)
+ return NB_OK;
+
+ advertise_high_metrics = yang_dnode_get_bool(args->dnode, NULL);
+ area = nb_running_get_entry(args->dnode, NULL, true);
+ isis_area_advertise_high_metrics_set(area, advertise_high_metrics);
+
+ return NB_OK;
+}
+
+/*
* XPath: /frr-isisd:isis/instance/metric-style
*/
int isis_instance_metric_style_modify(struct nb_cb_modify_args *args)