-
Notifications
You must be signed in to change notification settings - Fork 40
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
updates for tunnel routing #3859
Conversation
c2265a0
to
aa9017a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me!
@@ -83,6 +83,15 @@ z_swadm () { | |||
pfexec zlogin oxz_switch /opt/oxide/dendrite/bin/swadm $@ | |||
} | |||
|
|||
# XXX remove. This is just to test against a development branch of OPTE in CI. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When should this be removed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When the following lands
6bc5372
to
43d5f0a
Compare
a0942ed
to
e89ab39
Compare
First pass of new changes look good, gonna get some more coffee and give it another once over. Just to persist our earlier convo here, we have several scenarios in which routing data will need to be persisted and restored that we will need to double-check coverage of:
I don't think that should block this PR since I believe the changes in this PR perform just as well, if not better, than our current implementation. |
e89ab39
to
8bce2af
Compare
8bce2af
to
978cf08
Compare
This is now done by `mgd`.
Up until now, we've advertised a hard-coded boundary services address
fd00:99::1
from each sidecar to all the gimlets. Effectively creating an anycast tunnel endpoint for geneve packets to be decapsulated and transit to upstream networks. That's problematic if a given sidecar is not a viable tunnel endpoint for any packet destined for external networks. This PR changes that to conform to the model of RFD 404.Omicron no longer manages boundary services tunnel endpoint addresses, as these are now really now an implementation detail of how the underlay network and the external network intersect. See RFD 404 section 2.1 for more details.
This PR depends on the following.
Code changes to Omicron itself in this PR include
ddm
, as this is nowmgd
's job.mgd
instead ofdpd
. This is required formgd
to have visibility of the entire RIB, both static and dynamic, and to make tunnel endpoint advertisements automatically based on changes in the RIB. See RFD 404 section 2.2 for more details. Updates for both early networking and Nexus API handlers have been made.