bgpd: Fix the other of SR locator parameters

The latest FRR's frr-reload.py is broken and we can't reload FRR
gracefully with segment routing locator configuration (if we
execute frr-reload.py, FRR will stop suddenly).

The root cause of this issue is very simple. FRR will display the
current configuration like this (the below is the result of
"show running-configuration").

``
segment-routing
 srv6
  locators
   locator default
    prefix fd00:1:0:1::/64 block-len 40 node-len 24 func-bits 16
   exit
   !
  exit
  !
 exit
 !
exit
```

However, FRR doesn't accept segment routing locator parameters
if we specify block-len and node-len earlier than func-bits.

Signed-off-by: Ryoga Saito <ryoga.saito@linecorp.com>
This commit is contained in:
Ryoga Saito 2022-11-22 22:57:24 +09:00
parent 298748af21
commit 3afb06d324

View File

@ -276,16 +276,16 @@ DEFUN (no_srv6_locator,
DEFPY (locator_prefix,
locator_prefix_cmd,
"prefix X:X::X:X/M$prefix [func-bits (0-64)$func_bit_len] \
[block-len (16-64)$block_bit_len] [node-len (16-64)$node_bit_len]",
"prefix X:X::X:X/M$prefix [block-len (16-64)$block_bit_len] \
[node-len (16-64)$node_bit_len] [func-bits (0-64)$func_bit_len]",
"Configure SRv6 locator prefix\n"
"Specify SRv6 locator prefix\n"
"Configure SRv6 locator function length in bits\n"
"Specify SRv6 locator function length in bits\n"
"Configure SRv6 locator block length in bits\n"
"Specify SRv6 locator block length in bits\n"
"Configure SRv6 locator node length in bits\n"
"Specify SRv6 locator node length in bits\n")
"Specify SRv6 locator node length in bits\n"
"Configure SRv6 locator function length in bits\n"
"Specify SRv6 locator function length in bits\n")
{
VTY_DECLVAR_CONTEXT(srv6_locator, locator);
struct srv6_locator_chunk *chunk = NULL;