diff --git a/api/v1alpha1/router_types.go b/api/v1alpha1/router_types.go index 3a58562..8c22761 100644 --- a/api/v1alpha1/router_types.go +++ b/api/v1alpha1/router_types.go @@ -64,11 +64,12 @@ type BGPRouterSpec struct { // +optional SRv6Locator string `json:"srv6Locator,omitempty"` - // NodeID is this router's 8-bit slot within its PoP's SRv6Locator block, + // NodeID is this router's 16-bit slot within its PoP's SRv6Locator block, // used for RFC 9800 NEXT-CSID compression. Unique within the PoP. - // Values 0 and 255 are reserved. + // The uSID carrier format reserves 0x0000 and 0xE000-0xFFFF (the latter is + // Function space, not Node-ID space), leaving 0x0001-0xDFFF assignable. // +kubebuilder:validation:Minimum=1 - // +kubebuilder:validation:Maximum=254 + // +kubebuilder:validation:Maximum=57343 // +optional NodeID int32 `json:"nodeID,omitempty"` diff --git a/config/crd/network.datumapis.com_bgprouters.yaml b/config/crd/network.datumapis.com_bgprouters.yaml index dcad7bd..853c2ca 100644 --- a/config/crd/network.datumapis.com_bgprouters.yaml +++ b/config/crd/network.datumapis.com_bgprouters.yaml @@ -112,11 +112,12 @@ spec: type: integer nodeID: description: |- - NodeID is this router's 8-bit slot within its PoP's SRv6Locator block, + NodeID is this router's 16-bit slot within its PoP's SRv6Locator block, used for RFC 9800 NEXT-CSID compression. Unique within the PoP. - Values 0 and 255 are reserved. + The uSID carrier format reserves 0x0000 and 0xE000-0xFFFF (the latter is + Function space, not Node-ID space), leaving 0x0001-0xDFFF assignable. format: int32 - maximum: 254 + maximum: 57343 minimum: 1 type: integer routerID: diff --git a/docs/api/bgp.md b/docs/api/bgp.md index 09871e7..ff6b7aa 100644 --- a/docs/api/bgp.md +++ b/docs/api/bgp.md @@ -781,7 +781,7 @@ _Appears in:_ | `routerID` _string_ | RouterID is a unique 32-bit identifier expressed in IPv4 dotted-decimal notation.
In an IPv6-only underlay this is a logical identifier only. | | Format: ipv4
Required: \{\}
| | `addressFamilies` _[AddressFamily](#addressfamily) array_ | AddressFamilies defines the address families this router activates. | | MinItems: 1
| | `srv6Locator` _string_ | SRv6Locator is the SRv6 locator block this router owns, expressed as an
IPv6 CIDR (e.g. "2001:db8:ff01::/48"). Individual SRv6 endpoint SIDs are
host addresses within this block. | | | -| `nodeID` _integer_ | NodeID is this router's 8-bit slot within its PoP's SRv6Locator block,
used for RFC 9800 NEXT-CSID compression. Unique within the PoP.
Values 0 and 255 are reserved. | | Maximum: 254
Minimum: 1
| +| `nodeID` _integer_ | NodeID is this router's 16-bit slot within its PoP's SRv6Locator block,
used for RFC 9800 NEXT-CSID compression. Unique within the PoP.
The uSID carrier format reserves 0x0000 and 0xE000-0xFFFF (the latter is
Function space, not Node-ID space), leaving 0x0001-0xDFFF assignable. | | Maximum: 57343
Minimum: 1
| | `listenPort` _integer_ | ListenPort is the TCP port this router listens on for incoming BGP
peer connections. Defaults to 179 (the IANA-assigned BGP port) if unset. | | Maximum: 65535
Minimum: 1
|