-
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
Reorganize OPTE port management #1385
Conversation
Also, lots of testing notes are forthcoming. |
c46f934
to
a9636e6
Compare
Here are some details about testing. I started with a fresh reboot, created the virtual hardware, and installed the control plane. I populated the standard global images with
And the output:
At this point, we can verify that the OPTE ports are all as expected, and that the
All three instances' networking stacks appear in order. We can ping them all, and SSH into each one. It's also important to note that we can ping out of each one as well.
Next, I verified that the OPTE ports, "overlay" VNICs (the guest side, sitting between OPTE and Viona), and the MAC addresses in the
|
- Simplify platform deps and module structure - Add new Port and PortManager types. The port manager is a centralized object to manage all OPTE ports. This is currently required in order to support correctly implementing the external IP workaround, which requires keeping track of all current MAC addresses for guest interfaces. This is all modeled after the instance / instance manager relationship, where ports remove themselves from the manager on drop. - Add better logging - Add better handling of the overlay VNIC, currently also required for OPTE to work with Viona.
a9636e6
to
637dbde
Compare
- Adds some better documentation around the semantics of dropping a port ticket - Adds links to issues in some todos - Splits illumos/other platform implementations at module level.
- Store ports keyed on the combination of instance ID and port name, allowing each port to be stored as a separate kv-pair - Collect a ticket for each port in the running zone, and release each port explicitly and separately
object to manage all OPTE ports. This is currently required in order
to support correctly implementing the external IP workaround, which
requires keeping track of all current MAC addresses for guest
interfaces. This is all modeled after the instance / instance manager
relationship, where ports remove themselves from the manager on drop.
OPTE to work with Viona.