routing: fix support for default gateway #272
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issues #147 and #240 complain about a non working default gateway feature. I had the same issue and tried to find solutions.
Routes with a netmask of /1 or larger are working, wheres routes with a netmask of /0 are accepted but not used when it comes to selecting the next hop.
e.g.
0.0.0.0/1
and128.0.0.0/1
The proposed fix initializes
nh
(i.e. next hop) withtree->root->data[0]
(i.e. mtrie leaf for 0.0.0.0) and resets this to NULL, if this is not a gateway (i.e.OFP_RTL_FLAGS_GATEWAY
not set).This way,
if (elem->masklen == 0) return nh;
will return the default gateway instead of NULL.