From 0d9b6e01fa5e96153aaaf8573a0ad8d979dccf0a Mon Sep 17 00:00:00 2001 From: Christian Hass Date: Thu, 16 Sep 2021 12:42:07 +0200 Subject: [PATCH] routing: fix support for default gateway --- src/ofp_rt_mtrie_lookup.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ofp_rt_mtrie_lookup.c b/src/ofp_rt_mtrie_lookup.c index fec270b0..cd0761d0 100644 --- a/src/ofp_rt_mtrie_lookup.c +++ b/src/ofp_rt_mtrie_lookup.c @@ -587,11 +587,15 @@ ofp_rtl_remove(struct ofp_rtl_tree *tree, uint32_t addr_be, uint32_t masklen) struct ofp_nh_entry *ofp_rtl_search(struct ofp_rtl_tree *tree, uint32_t addr_be) { - struct ofp_nh_entry *nh = NULL; struct ofp_rtl_node *elem, *node = tree->root; + struct ofp_nh_entry *nh = &node->data[0]; uint32_t addr = odp_be_to_cpu_32(addr_be); uint32_t low = 0, high = IPV4_FIRST_LEVEL; + if (!(nh->flags & OFP_RTL_FLAGS_GATEWAY)) { + nh = NULL; + }; + for (; high <= IPV4_LENGTH ; low = high, high += IPV4_LEVEL) { elem = find_node(node, addr, low, high);