summaryrefslogtreecommitdiff
path: root/isisd
diff options
context:
space:
mode:
authorLouis Scalbert <louis.scalbert@6wind.com>2024-08-27 18:22:27 +0200
committerMergify <37929162+mergify[bot]@users.noreply.github.com>2024-09-03 14:56:50 +0000
commit15109e173f3daccf80d5481ac8864c17afbfde8a (patch)
tree937cde6bcdefd0e39956740c4c1b5aefc6b8cdfc /isisd
parent5af6b5875fb378f6bc69dbd51924e14bf9d8c827 (diff)
isisd: fix update link params after circuit is up
If the link-params are set when the circuit not yet up, the link-params are never updated. isis_link_params_update() is called from isis_circuit_up() but returns immediately because circuit->state != C_STATE_UP. circuit->state is updated in isis_csm_state_change after isis_circuit_up(). > struct isis_circuit *isis_csm_state_change(enum isis_circuit_event event, > struct isis_circuit *circuit, > void *arg) > { > [...] > if (isis_circuit_up(circuit) != ISIS_OK) { > isis_circuit_deconfigure(circuit, area); > break; > } > circuit->state = C_STATE_UP; > isis_event_circuit_state_change(circuit, circuit->area, > 1); Do not return isis_link_params_update() if circuit->state != C_STATE_UP. Fixes: 0fdd8b2b11 ("isisd: update link params after circuit is up") Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com> (cherry picked from commit 6ce6b7a8564f661495fec17f3ea33eeaf9e2f48c)
Diffstat (limited to 'isisd')
-rw-r--r--isisd/isis_te.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/isisd/isis_te.c b/isisd/isis_te.c
index 02b0f7b8b8..5d79f12611 100644
--- a/isisd/isis_te.c
+++ b/isisd/isis_te.c
@@ -331,7 +331,7 @@ void isis_link_params_update(struct isis_circuit *circuit,
return;
/* Sanity Check */
- if ((ifp == NULL) || (circuit->state != C_STATE_UP))
+ if (ifp == NULL)
return;
te_debug("ISIS-TE(%s): Update circuit parameters for interface %s",