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

Implement the Internet Gateway concept #2154

Closed
5 tasks
bnaecker opened this issue Jan 11, 2023 · 1 comment · Fixed by #6475
Closed
5 tasks

Implement the Internet Gateway concept #2154

bnaecker opened this issue Jan 11, 2023 · 1 comment · Fixed by #6475
Assignees
Labels
customer For any bug reports or feature requests tied to customer requests mvp networking Related to the networking.
Milestone

Comments

@bnaecker
Copy link
Collaborator

bnaecker commented Jan 11, 2023

An important concept from RFD 21 is the Internet Gateway. Briefly, the gateway is the main API object that allows instances to access the internet from a VPC Subnet. Without a gateway, an instance cannot make outbound connections outside of the VPC Subnet. Also, the gateway is intended to house the "pool" of external IP addresses (both Ephemeral and Floating) that can be used by instances to make those outbound connections.

Today, those addresses are created by directly pulling an address from the IP Pool. Those objects are intended to only be manipulated that way by operators, who can assign a IP Pool or one of its ranges to an Internet Gateway. It's from the gateway that an instance derives its external IP address.

This issue tracks implementation of the Internet Gateway. There are a bunch of pieces to this:

  • Implement the Internet Gateway database and API objects
  • Create default Internet Gateway for a VPC, and delete it when the VPC is deleted
  • CRUD on Internet Gateway objects. This includes adding addresses from an IP Pool or one of its ranges.
  • Modifying the instance creation API to refer to an Internet Gateway instead of an IP Pool, when selecting its external IP addresses.
  • Update the router API to allow specifying an Internet Gateway in routes for a VPC Custom Router

There's a related set of work here about how we push out updates to OPTE when an Internet Gateway is operated on. Working through the possibilities:

  • Adding an IG -> no updates needed, since nothing could be referring to that by definition.
  • Adding or removing IP addresses or a range to an IG -> Need to update any OPTE instances that use the IG in its routing decisions.
  • Adding or removing an IG from a routing table -> Need to update OPTE, but this is tracked under pushing out modifications to the routing table.
@bnaecker bnaecker added networking Related to the networking. mvp labels Jan 11, 2023
@smklein smklein added this to the MVP milestone Jan 20, 2023
@rcgoodfellow rcgoodfellow modified the milestones: MVP, 11 Aug 28, 2024
@rcgoodfellow rcgoodfellow self-assigned this Aug 28, 2024
@rcgoodfellow
Copy link
Contributor

@twinfees twinfees added the customer For any bug reports or feature requests tied to customer requests label Sep 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
customer For any bug reports or feature requests tied to customer requests mvp networking Related to the networking.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants