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

Boundary Services MAC address conflicts with Guest Addresses range. #3984

Open
luqmana opened this issue Aug 29, 2023 · 0 comments
Open

Boundary Services MAC address conflicts with Guest Addresses range. #3984

luqmana opened this issue Aug 29, 2023 · 0 comments
Labels
cleanup Code cleanliness good first issue Issues that are good for learning the codebase networking Related to the networking.

Comments

@luqmana
Copy link
Contributor

luqmana commented Aug 29, 2023

The fixed MAC we use to logical represent Boundary Services is currently set to:

let mac = MacAddr::from_const([0xa8, 0x40, 0x25, 0xf9, 0x99, 0x99]);

But based on the current MAC address allocation scheme it lies in the Guest Addresses range

// Guest MAC addresses begin with the Oxide OUI A8:40:25. Further, guest
// address are constrained to be in the virtual address range
// A8:40:25:F_:__:__. Even further, the range F0:00:00 - FE:FF:FF is
// reserved for customer-visible addresses (FF:00:00-FF:FF:FF is for
// system MAC addresses). See RFD 174 for the discussion of the virtual
// range, and
// https://github.com/oxidecomputer/omicron/pull/955#discussion_r856432498
// for an initial discussion of the customer/system address range split.
// The system range is further split between FF:00:00-FF:7F:FF for
// fixed addresses (e.g., the OPTE virtual gateway MAC) and
// FF:80:00-FF:FF:FF for dynamically allocated addresses (e.g., service
// vNICs).
//
// F0:00:00 - FF:FF:FF Oxide Virtual Address Range
// F0:00:00 - FE:FF:FF Guest Addresses
// FF:00:00 - FF:FF:FF System Addresses
// FF:00:00 - FF:7F:FF Reserved Addresses
// FF:80:00 - FF:FF:FF Runtime allocatable

In practise I don't think it's really a problem, as the boundary services mac is effectively arbitrary and not used for forwarding or filtering packets, but probably good to update nonetheless.

@luqmana luqmana added networking Related to the networking. cleanup Code cleanliness good first issue Issues that are good for learning the codebase labels Aug 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cleanup Code cleanliness good first issue Issues that are good for learning the codebase networking Related to the networking.
Projects
None yet
Development

No branches or pull requests

1 participant