diff options
| author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2026-08-16 18:09:31 +0000 |
|---|---|---|
| committer | Sander Vrijders <sander@ouroboros.rocks> | 2026-08-31 08:31:45 +0200 |
| commit | c88151f46719816afed7fb08c2dafce696595bdd (patch) | |
| tree | 89ce58f67e3aa7e156776f557b7fb06df665e618 /src | |
| parent | 657fdee8e909bd50fcc0b809b454cf1ad551384b (diff) | |
| download | ouroboros-c88151f46719816afed7fb08c2dafce696595bdd.tar.gz ouroboros-c88151f46719816afed7fb08c2dafce696595bdd.zip | |
ipcpd: Clean up pft on flow down
The pft had stale DT entries after a flow goes down until the next
lsdb update. The flow descriptors are now purged once the link is
declared down.
Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src')
| -rw-r--r-- | src/ipcpd/unicast/routing/link-state.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/ipcpd/unicast/routing/link-state.c b/src/ipcpd/unicast/routing/link-state.c index c4ea9e1c..4fba2f05 100644 --- a/src/ipcpd/unicast/routing/link-state.c +++ b/src/ipcpd/unicast/routing/link-state.c @@ -878,9 +878,15 @@ static void handle_event(void * self, break; case NOTIFY_DT_CONN_UP: flow_event(c->flow_info.fd, true); + + if (lsdb_add_link(ls.addr, c->conn_info.addr, 0, &qs) < 0) + log_dbg("Failed to re-add adjacency to lsdb."); break; case NOTIFY_DT_CONN_DOWN: flow_event(c->flow_info.fd, false); + + if (lsdb_del_link(ls.addr, c->conn_info.addr) < 0) + log_dbg("Local link was not in lsdb."); break; case NOTIFY_MGMT_CONN_ADD: fccntl(c->flow_info.fd, FLOWGFLAGS, &flags); |
