After the optimization introduced by patch zebra-redist-update-fix.patch
which implements "replace" semantics for redistributed routes instead of
a delete followed by add, the code was passing an incorrect route for
redistribute deletion in one case. This is mainly inconsequential as of
now as the deletion process primarily cares about only the destination, but
the code needs to be corrected and that is done here.
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Fixes: zebra-redist-update-fix.patch
Ticket: CM-8112
Reviewed By: CCR-3760
Testing Done: Trivial
Note:
1. Needs changes after IPv6 route replace patches are included.
2. Imported from 2.5-br patch zebra-redist-delete-fix.patch
assert (fib);
rib_uninstall_kernel (rn, fib);
}
- /* if "select", the earlier redist delete wouldn't have happened */
- redistribute_delete(&rn->p, select);
+ /* if "select", the earlier redist delete wouldn't have happened */
+ if (fib)
+ redistribute_delete(&rn->p, fib);
}
UNSET_FLAG(select->flags, ZEBRA_FLAG_CHANGED);
}