diff options
| author | Isabella de Leon <ideleon@microsoft.com> | 2023-01-06 10:06:23 -0800 | 
|---|---|---|
| committer | Isabella de Leon <ideleon@microsoft.com> | 2023-02-28 11:39:12 -0800 | 
| commit | d74f913c5f487a722b19bd01442b8fe13c4714e8 (patch) | |
| tree | cb9cf781ba9111e2bdbcba8aee687cc994a071b6 /isisd/isis_nb_config.c | |
| parent | 617d2b71c0d1b61dfb319f5f629953a95e6beef5 (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.c | 18 | 
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)  | 
