Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IP routing config for local network instances #38

Merged
merged 2 commits into from
Dec 14, 2023

Conversation

milan-zededa
Copy link
Contributor

These new fields will allow to:

  • use DHCP to automatically propagate routes for uplink subnets
    into applications connected to them indirectly through local network
    instances
  • configure static IP routes for local network instances and propagate
    them using DHCP to connected applications

// into applications connected to them indirectly through local network instances.
// This option is only valid for local network instances. For other types
// of network instances, it will be ignored.
bool propagate_connected_routes = 42;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I always suspect that the question about life and everthing had something to do with IP routing ;-)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be do this with 'disable_propagate_connected_routes'? since default case is most people want.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can't change the default behavior since we don't know whether that will break existing deployments.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm also considering renaming this to propagate_uplink_routes. After all, uplink port may receive additional routes from an external DHCP server. Shouldn't we propagate all the routes associated with an uplink interface?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not going to rename, we agreed internally that only connected routes will be propagated, not all routes received from external DHCP server.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense to keep the name and semantics (need to set to true to change from current behavior).
@naiming-zededa Even if most cases (where app instances have multiple adapters) could benefit from having this set it is a bit scary to start doing that as part of an update by changing the default and have a disable field.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure.

@naiming-zededa
Copy link
Contributor

we can also introduce a new api-capability for this feature, otherwise user configured static-routes in the cloud side and wondering why it does not show up on the device.

@milan-zededa milan-zededa marked this pull request as draft December 5, 2023 18:44
@milan-zededa
Copy link
Contributor Author

Marking this as draft until some design discussions are closed. Then will also make changes requested in review.

@milan-zededa
Copy link
Contributor Author

we can also introduce a new api-capability for this feature, otherwise user configured static-routes in the cloud side and wondering why it does not show up on the device.

Done, added new API capability.

@milan-zededa milan-zededa marked this pull request as ready for review December 13, 2023 15:02
@milan-zededa
Copy link
Contributor Author

@eriknordmark, @naiming-zededa PR is ready for re-review.

Copy link
Contributor

@eriknordmark eriknordmark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but as we add this should we also add something about propagate/inject default route or not in the API?
Today we do that by default and can disable it by setting the gateway (for the network if I don't misremember - or is it on the network instance?)

If nothing else, how about documenting that near the comment about static_routes?

These new fields will allow to:
- use DHCP to automatically propagate routes for uplink subnets
  to applications connected to them indirectly through local network
  instances
- configure static IP routes for local network instances and propagate
  them using DHCP to connected applications

Signed-off-by: Milan Lenco <milan@zededa.com>
Signed-off-by: Milan Lenco <milan@zededa.com>
@milan-zededa
Copy link
Contributor Author

LGTM, but as we add this should we also add something about propagate/inject default route or not in the API? Today we do that by default and can disable it by setting the gateway (for the network if I don't misremember - or is it on the network instance?)

If nothing else, how about documenting that near the comment about static_routes?

Done, added comments explaining default route propagation.

@eriknordmark eriknordmark merged commit bbc399b into lf-edge:main Dec 14, 2023
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants