mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-07 15:33:56 +00:00
Merge pull request #12302 from louis-6wind/fix-isis_route_null-area
isisd: fix area NULL pointer in isis_route_update
This commit is contained in:
commit
884f617f54
@ -485,6 +485,9 @@ static void isis_route_update(struct isis_area *area, struct prefix *prefix,
|
|||||||
struct prefix_ipv6 *src_p,
|
struct prefix_ipv6 *src_p,
|
||||||
struct isis_route_info *route_info)
|
struct isis_route_info *route_info)
|
||||||
{
|
{
|
||||||
|
if (area == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
if (CHECK_FLAG(route_info->flag, ISIS_ROUTE_FLAG_ACTIVE)) {
|
if (CHECK_FLAG(route_info->flag, ISIS_ROUTE_FLAG_ACTIVE)) {
|
||||||
if (CHECK_FLAG(route_info->flag, ISIS_ROUTE_FLAG_ZEBRA_SYNCED))
|
if (CHECK_FLAG(route_info->flag, ISIS_ROUTE_FLAG_ZEBRA_SYNCED))
|
||||||
return;
|
return;
|
||||||
@ -492,9 +495,8 @@ static void isis_route_update(struct isis_area *area, struct prefix *prefix,
|
|||||||
isis_route_remove_previous_sid(area, prefix, route_info);
|
isis_route_remove_previous_sid(area, prefix, route_info);
|
||||||
|
|
||||||
/* Install route. */
|
/* Install route. */
|
||||||
if (area)
|
isis_zebra_route_add_route(area->isis, prefix, src_p,
|
||||||
isis_zebra_route_add_route(area->isis, prefix, src_p,
|
route_info);
|
||||||
route_info);
|
|
||||||
/* Install/reinstall Prefix-SID label. */
|
/* Install/reinstall Prefix-SID label. */
|
||||||
if (route_info->sr.present)
|
if (route_info->sr.present)
|
||||||
isis_zebra_prefix_sid_install(area, prefix, route_info,
|
isis_zebra_prefix_sid_install(area, prefix, route_info,
|
||||||
@ -509,9 +511,8 @@ static void isis_route_update(struct isis_area *area, struct prefix *prefix,
|
|||||||
isis_zebra_prefix_sid_uninstall(
|
isis_zebra_prefix_sid_uninstall(
|
||||||
area, prefix, route_info, &route_info->sr);
|
area, prefix, route_info, &route_info->sr);
|
||||||
/* Uninstall route. */
|
/* Uninstall route. */
|
||||||
if (area)
|
isis_zebra_route_del_route(area->isis, prefix, src_p,
|
||||||
isis_zebra_route_del_route(area->isis, prefix, src_p,
|
route_info);
|
||||||
route_info);
|
|
||||||
hook_call(isis_route_update_hook, area, prefix, route_info);
|
hook_call(isis_route_update_hook, area, prefix, route_info);
|
||||||
|
|
||||||
UNSET_FLAG(route_info->flag, ISIS_ROUTE_FLAG_ZEBRA_SYNCED);
|
UNSET_FLAG(route_info->flag, ISIS_ROUTE_FLAG_ZEBRA_SYNCED);
|
||||||
|
Loading…
Reference in New Issue
Block a user