You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
All guest instances will have private IP addresses in their VPC Subnet. To communicate with the outside world, they'll also need external addresses. These addresses ultimately come from operators, for example as part of setting up IP Pools, since they are addresses under the customer's control (e.g., public IPv4 addresses they own or addresses within their datacenter). We're currently passing these addresses to OPTE. When the guest makes an outbound network connection, OPTE will
Rewrite the guest source address (and port) to the provided external IP address
Encapsulate the guest packet, into a packet designed to transit the rack IPv6 network, destined for Boundary Services
The P4 program running on the switch decapsulates this, and delivers it to the broader customer network.
On the way back in, the reverse process needs to happen: encapsulating the external packet in a rack-specific IPv6 packet, destined for the right sled. The Dendrite data-plane daemon, dpd, needs to know what the "right" sled is. This issue tracks the initial work communicating the external-IP-to-sled mapping out to dpd.
Initial thoughts
The control plane needs to communicate the mapping from external IP address to the sled "hosting" that address. This needs to happen in a few places:
When an instance is provisioned. Plopping this request in around here would be a good start, with a corresponding undo action. This part can basically be done now.
When an instance migrates. There's a lot of missing pieces to the migration story, so this one is probably better left for later.
When customers create / assign a new Floating IP address to an instance. That's work tracked in Implement Floating IPs #1334, so we'll come back to flesh this out after that's done.
Background
All guest instances will have private IP addresses in their VPC Subnet. To communicate with the outside world, they'll also need external addresses. These addresses ultimately come from operators, for example as part of setting up IP Pools, since they are addresses under the customer's control (e.g., public IPv4 addresses they own or addresses within their datacenter). We're currently passing these addresses to OPTE. When the guest makes an outbound network connection, OPTE will
The P4 program running on the switch decapsulates this, and delivers it to the broader customer network.
On the way back in, the reverse process needs to happen: encapsulating the external packet in a rack-specific IPv6 packet, destined for the right sled. The Dendrite data-plane daemon,
dpd, needs to know what the "right" sled is. This issue tracks the initial work communicating the external-IP-to-sled mapping out todpd.Initial thoughts
The control plane needs to communicate the mapping from external IP address to the sled "hosting" that address. This needs to happen in a few places: