Skip to content

Commit 16eeea1

Browse files
committed
zebra: nhg code selection doesnot check invalid status
Problem description: 1)In some corner cases in zebra, “Failed to enqueue dataplane  install” happened for routes which was caused because of INVALID nhg. 2)Our NHG code logic, check all nexthop entries is valid or not,but it does not check whether the nhg itself is valid or not during our checks which in turn cause route install failures in zebra. Fix: Handled the nhg logic to check for validity during selection. Signed-off-by: harini <[email protected]>
1 parent 7ed401d commit 16eeea1

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

zebra/zebra_rib.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1379,6 +1379,10 @@ static void rib_process(struct route_node *rn)
13791379
continue;
13801380
}
13811381
} else {
1382+
/* Skip routes with invalid NHGs though re has not changed nhg
1383+
* might be not valid during interface flap events */
1384+
if (re->nhe && !CHECK_FLAG(re->nhe->flags, NEXTHOP_GROUP_VALID))
1385+
continue;
13821386
/*
13831387
* If the re has not changed and the nhg we have is
13841388
* not usable, then we cannot use this route entry

0 commit comments

Comments
 (0)