zebra: clear dplane flags on failure for protodown

Make sure we clear our dplane flags for SET/UNSET
on failure so that we try again.

Signed-off-by: Stephen Worley <sworley@nvidia.com>
This commit is contained in:
Stephen Worley 2022-02-15 17:51:36 -05:00
parent a3ea8493a8
commit 00d57e6dd5

View File

@ -1446,17 +1446,19 @@ static void zebra_if_update_ctx(struct zebra_dplane_ctx *ctx,
if (IS_ZEBRA_DEBUG_KERNEL)
zlog_debug("%s: if %s(%u) dplane update failed",
__func__, ifp->name, ifp->ifindex);
return;
goto done;
}
/* Update our info */
if (down) {
if (down)
zif->flags |= ZIF_FLAG_PROTODOWN;
zif->flags &= ~ZIF_FLAG_SET_PROTODOWN;
} else {
else
zif->flags &= ~ZIF_FLAG_PROTODOWN;
zif->flags &= ~ZIF_FLAG_UNSET_PROTODOWN;
}
done:
/* Clear our dplane flags */
zif->flags &= ~ZIF_FLAG_SET_PROTODOWN;
zif->flags &= ~ZIF_FLAG_UNSET_PROTODOWN;
}
/*