Skip to content

Update OPTE to 0.32.265.#274

Merged
FelixMcFelix merged 1 commit into
mainfrom
vpc-subnet-opte
Jun 26, 2024
Merged

Update OPTE to 0.32.265.#274
FelixMcFelix merged 1 commit into
mainfrom
vpc-subnet-opte

Conversation

@FelixMcFelix

Copy link
Copy Markdown
Contributor

This is a pre-requisite for oxidecomputer/omicron#5777. As always, we may want to hold merging this until all approvals of that PR are in to avoid blocking bugfixes to maghemite.

This is a pre-requisite for oxidecomputer/omicron#5777. As always, we
may want to hold merging this until all approvals of that PR are in to
avoid blocking bugfixes to maghemite.
@FelixMcFelix FelixMcFelix merged commit 3c3fa84 into main Jun 26, 2024
@FelixMcFelix FelixMcFelix deleted the vpc-subnet-opte branch June 26, 2024 09:23
FelixMcFelix added a commit to oxidecomputer/omicron that referenced this pull request Jun 26, 2024
This PR wires up all the backing machinery for VPC subnet routing, and
automatically resolves and pushes updated rules to sleds using an RPW.
This allows instances in all subnets of a VPC to talk with one another
-- assuming no firewall rules have been configured otherwise. At a high
level, this works by a few changes:
* During the VPC create saga, we now push two rules explicitly to the
system router -- default routes from `(0.0.0.0/0, ::/0) ->
inetgw:outbound`.
* Any CRUD operation on a VPC subnet will reconcile the set of VPC
subnet routes within the system router to have one entry per subnet.
This takes the form `subnet:{name} -> subnet:{name}` for each subnet,
which are later resolved to both v4 and v6 entries.
* Ports are created using route information known to sled-agent -- this
defaults to an empty route set for instances/probes, and an internet
gateway rule for services to enable early NTP sync.
* Routes are sync'd with sleds using a new background task. Broadly,
this asks each sled for the set of VPCs and subnets it has ports on, and
a version for the current route set installed in each. The background
task will use this information to determine which routes must be
rebuilt, and will send updated versions out in response.

The most immediate consequence in this PR is that hosts within a subnet
-- on different VPCs -- will be able to talk with one another at last.
The user facing API (#2116) will be re-enabled in a concurrent PR --
#5823 -- as will NIC spoof detection hole-punching.

Depends on oxidecomputer/opte#490.

Closes #2232, Fixes #1336.

---

A few pieces will block tests passing & merge-readiness:
- [x] Creation of a `lab-2.0-opte-0.32` image.
- [x] Merge of oxidecomputer/maghemite#274 (and updating all the right
SHAs in this PR).
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.

2 participants