]> git.proxmox.com Git - mirror_frr.git/commit - isisd/isisd.c
isisd: allow arbitrary order of area/interface configuration
authorIgor Ryzhov <iryzhov@nfware.com>
Tue, 27 Apr 2021 22:57:21 +0000 (01:57 +0300)
committerIgor Ryzhov <iryzhov@nfware.com>
Thu, 29 Apr 2021 14:05:21 +0000 (17:05 +0300)
commitbcf220815632500f9646cb0b4c13f498afa4edf6
treec886adf613df11059b980959086bd59c3491f013
parent0fdd8b2b115d1aaa73f483aa8bdec619c036338b
isisd: allow arbitrary order of area/interface configuration

Currently we don't allow to configure the interface before the area is
configured. This approach has the following issues:

1. The area config can be deleted even when we have an interface config
   relying on it. The code is not ready for that - we'll have a whole
   bunch of stale pointers if user does that.
2. The code doesn't correctly process the event of changing the VRF for
   an interface. There is no mechanism to ensure that the area exists
   in the new VRF so currently the circuit still stays in the old VRF.

This commit allows an arbitrary order of area/interface configuration.
There is no more need to configure the area before configuring the
interface.

This change fixes both the issues.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
isisd/isis_circuit.c
isisd/isis_circuit.h
isisd/isis_csm.c
isisd/isis_nb_config.c
isisd/isis_vty_fabricd.c
isisd/isisd.c
isisd/isisd.h
tests/isisd/test_isis_spf.c
tests/topotests/isis-snmp/test_isis_snmp.py
tests/topotests/isis-sr-topo1/test_isis_sr_topo1.py