]> git.puffer.fish Git - mirror/frr.git/commit
ospfd: Correct Segment Routing prefix bugs 8217/head
authorOlivier Dugeon <olivier.dugeon@orange.com>
Tue, 9 Mar 2021 10:00:32 +0000 (11:00 +0100)
committerOlivier Dugeon <olivier.dugeon@orange.com>
Tue, 9 Mar 2021 10:14:32 +0000 (11:14 +0100)
commit270e66a2ceaeca0e6e3fde0150c36e2252de641f
treec2ebe5567287791e4e2c301e107b6f98da9dad11
parentf79d311b3e0ea744cad115978b10bad2661afea9
ospfd: Correct Segment Routing prefix bugs

This patch solves 2 Segment Routing prefix bugs:

- If Segment Routing is not enabled in the initial configuration, Extended
  Prefix Opaque LSA is not flood. This is due to a control flag which is
  set only when Segment Routing is enabled at startup and not latter.
- Attempting to modify Segment Routing prefix flag e.g. adding or removing
  no-php or explicit-null flag, doesn't work as expected: Corresponding entry
  in the MPLS table is not updated, Extended Prefix Opaque LSA carry wrong flag
  value, and neighbor set a wrong configuration in the MPLS table for this
  Segment Routing prefix.

The first bug is corrected in ospfd/ospf_ext.c:

- Flag setting is moved from ospf_ext_ism_change() to set_ext_prefix() function

The seconf one is corrected in ospfd/ospf_sr.c:

- For self node, previous MPLS entry is removed if needed and flag reset before
  setting the new Segment Routing prefix configuration
- For neighbor node, srnext field of sr_prefix structure is always set and not
  only for new SR Prefix.

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
ospfd/ospf_ext.c
ospfd/ospf_sr.c
ospfd/ospf_zebra.c