diff options
| author | Donald Sharp <donaldsharp72@gmail.com> | 2024-12-04 07:37:00 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-12-04 07:37:00 -0500 |
| commit | 0b26493ea638b31ff52c8fc2e493dca5087658db (patch) | |
| tree | 3f238c87aa1e48445c9eb58579860ba6592debe1 /lib/bfd.c | |
| parent | 1e23469c99b4373d677d99a8327e3d13283bdddb (diff) | |
| parent | 595a608498f85b3e35fe6530681fefb2b119e727 (diff) | |
Merge pull request #17574 from opensourcerouting/fix/backports_fix_branch
Stabilize stable/10.2
Diffstat (limited to 'lib/bfd.c')
| -rw-r--r-- | lib/bfd.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -32,6 +32,8 @@ enum bfd_session_event { BSE_UNINSTALL, /** Install the BFD session configuration. */ BSE_INSTALL, + /** We should install but it couldn't because of a error talking to zebra */ + BSE_VALID_FOR_INSTALL, }; /** @@ -527,6 +529,10 @@ static void _bfd_sess_send(struct event *t) vrf_id_to_name(bsp->args.vrf_id), bsp->args.vrf_id, bsp->lastev == BSE_INSTALL ? "installed" : "uninstalled"); + + bsp->installed = false; + if (bsp->lastev == BSE_INSTALL) + bsp->lastev = BSE_VALID_FOR_INSTALL; } } @@ -883,7 +889,7 @@ int zclient_bfd_session_replay(ZAPI_CALLBACK_ARGS) /* Replay all activated peers. */ TAILQ_FOREACH (bsp, &bsglobal.bsplist, entry) { /* Skip not installed sessions. */ - if (!bsp->installed) + if (!bsp->installed && bsp->lastev != BSE_VALID_FOR_INSTALL) continue; /* We are reconnecting, so we must send installation. */ |
