From e262d31ca67e879bbb2f6fa8dc0ad0b003b567cb Mon Sep 17 00:00:00 2001 From: Andrey Khomyakov Date: Fri, 24 Jul 2026 14:47:38 -0700 Subject: [PATCH] add DHCP coverage missing. Minor update --- dhcp-and-dhcp-relay.rst | 38 ++++++++++++++++++++++++++++ images/dhcp-builtin.png | Bin 0 -> 75975 bytes introduction.rst | 2 +- netris-architecture.rst | 4 +-- network-policies.rst | 2 +- supported-switch-hardware.rst | 46 +++++++++++++++++++++++++++------- 6 files changed, 79 insertions(+), 13 deletions(-) create mode 100644 images/dhcp-builtin.png diff --git a/dhcp-and-dhcp-relay.rst b/dhcp-and-dhcp-relay.rst index ce9f4b0e..fa638f04 100644 --- a/dhcp-and-dhcp-relay.rst +++ b/dhcp-and-dhcp-relay.rst @@ -42,6 +42,37 @@ Netris also enables you to define Custom DHCP Options.
+Netris DHCP +=========== + +To enable Netris' built-in DHCP service on an L2VPN V-Net: + + - Add a gateway to the V-Net — native DHCP requires a gateway. + - Check the DHCP checkbox next to the gateway IP address. + - Provide a starting and ending IP address for the DHCP scope. + - Select a DHCP Options Set. + +.. note:: + A DHCP Options Set is required to enable Netris DHCP — Netris does not currently ship a default option set, so one must be created (see DHCP Option Sets above) before DHCP can be enabled on a V-Net. + +.. image:: images/dhcp-builtin.png + :alt: Netris DHCP configuration in V-Net settings + :align: center + :class: with-shadow + +.. raw:: html + +

Figure: Netris DHCP configuration in V-Net settings

+ +SoftGate–Controller dependency for Netris DHCP +----------------------------------------------- + +Netris DHCP has no hard dependency on the Controller for day-to-day service. The active SoftGate's local DHCP server hands out leases from its own local leases file, independent of Controller reachability — if the Controller is unreachable, the SoftGate keeps issuing dynamic leases on its own, from its last Controller-synced configuration, which the Netris agent caches locally. + +The Controller's role is keeping IP assignments stable across a SoftGate failover: the Netris agent on the active SoftGate pushes each new lease up to the Controller, which converts it into a static IP–MAC reservation and syncs it back down to every SoftGate as a static binding. That round trip isn't instantaneous — if the SoftGate serving DHCP for a V-Net fails over before a given client's lease has completed the round trip and been written into every SoftGate's static bindings, the newly active SoftGate has no record of that client yet and may hand it a different dynamic IP. + +The Controller's reservation set persists independently of most V-Net edits: setting a V-Net to inactive preserves it, so DHCP can't hand a previously leased IP to a different endpoint and create a conflict once the V-Net is reactivated, and changing the lease range doesn't clear it either. Unchecking DHCP, or removing the V-Net's IP subnet and saving, resets it; deleting the V-Net cleans it up entirely. + DHCP Relay ========== Netris supports using an external DHCP server by enabling the DHCP Relay function. This allows DHCP clients inside a V-Net to obtain addresses from a non-Netris-managed DHCP server running in the same or another VPC. Both DHCPv4 and DHCPv6 are supported. @@ -73,6 +104,13 @@ To configure DHCP Relay in a V-Net:
+DHCPv6 Relay: Switch Loopback IPv6 Address +------------------------------------------- + +When DHCPv6 Relay to a third-party server is configured (Address Family set to IPv4/IPv6 Dual-Stack or IPv6-Only), Netris derives an IPv6 loopback address for the switch and assigns it, as a /128, to the loopback interface in the relevant VRF(s). This address is used as the source address of relayed DHCPv6 traffic, the same role the switch's existing IPv4 loopback plays for DHCPv4 relay. + +The address is not randomly generated — it's deterministically derived from the switch's existing main IPv4 loopback address: Netris takes the IPv4 loopback address, converts it to hex, and uses that as the lower 32 bits of an address in the ``fd00::/8`` unique local address range. For example, an IPv4 loopback of ``10.2.3.4`` produces the IPv6 loopback ``fd00::0a02:0304/128``. + Example: """""""" diff --git a/images/dhcp-builtin.png b/images/dhcp-builtin.png new file mode 100644 index 0000000000000000000000000000000000000000..576108efaeac23ac251c60d9b706d1f29a5bafc3 GIT binary patch literal 75975 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 document. diff --git a/network-policies.rst b/network-policies.rst index 466a00ce..881c833b 100644 --- a/network-policies.rst +++ b/network-policies.rst @@ -9,7 +9,7 @@ Netris VPC The Netris VPC offers you the ability to operate your resources within a logically segregated virtual network. You can create, edit, and remove VPCs as needed. The VPC acts as a VRF in traditional networking, providing the flexibility to employ overlapping IP ranges across various VPCs while maintaining secure management and operation of resources. -Netris Controller ships with one VPC (VPC-1) pre-provisioned; it cannot be deleted. VPC-1 carries two distinct roles at once — it is both the **System VPC** (the trust boundary and anchor for infrastructure objects such as switch loopbacks and SoftGate-terminated BGP/NAT/load-balancer traffic) and the **Default VPC** (the VPC the Controller substitutes for the required VPC field when a value isn't explicitly given, and the one pre-populated in "Add new" dialogs in the web UI). These are different concepts that happen to be the same VPC by default. See the Netris VPC page for the full explanation and for the list of objects that belong to a VPC, before creating additional VPCs. +Netris Controller ships with one VPC (VPC-1) pre-provisioned; it cannot be deleted. VPC-1 carries two distinct roles at once — it is both the **System VPC** (the trust boundary and anchor for infrastructure objects such as switch loopbacks and SoftGate-terminated BGP/NAT/load-balancer traffic) and the **Default VPC** (the VPC the Controller substitutes for the required VPC field when a value isn't explicitly given, and the one pre-populated in "Add new" dialogs in the web UI). These are different concepts that happen to be the same VPC by default. See :doc:`vpc` for the full explanation and for the list of objects that belong to a VPC, before creating additional VPCs. The following diagram shows a VPC concept in the Netris Controller. diff --git a/supported-switch-hardware.rst b/supported-switch-hardware.rst index df4c89df..7dd6167b 100644 --- a/supported-switch-hardware.rst +++ b/supported-switch-hardware.rst @@ -370,9 +370,16 @@ Arista - - ✔ * - Arista - - 7280R3A - - Jericho2 - - 144 x 100G or 36 x 400G + - 7060X6-32PE + - Tomahawk 5 + - 32 x 800G OSFP + - EOS + - + - ✔ + * - Arista + - 7060X6-64PE + - Tomahawk 5 + - 64 x 800G OSFP + 2 x SFP+ - EOS - - ✔ @@ -384,16 +391,16 @@ Arista - - ✔ * - Arista - - 7358X4 - - Trident-4 - - 128 x QSFP or 32 x OSFP / QSFP-DD + - 7280R3A + - Jericho2 + - 144 x 100G or 36 x 400G - EOS - - ✔ * - Arista - - 7368X4 - - Tomahawk 3 - - 128 x 100G or 32 x 400G + - 7280R4 + - Jericho3+ + - Up to 32 x 800G - EOS - - ✔ @@ -404,6 +411,20 @@ Arista - EOS - - ✔ + * - Arista + - 7358X4 + - Trident-4 + - 128 x QSFP or 32 x OSFP / QSFP-DD + - EOS + - + - ✔ + * - Arista + - 7368X4 + - Tomahawk 3 + - 128 x 100G or 32 x 400G + - EOS + - + - ✔ * - Arista - 7500R3 - Jericho, Jericho2 @@ -411,3 +432,10 @@ Arista - EOS - - ✔ + * - Arista + - 7700R4 + - Jericho3-AI + - Per leaf: 18 x 800G host + 20 x 800G fabric (AI distributed Etherlink fabric, not a general leaf/spine switch) + - EOS + - + - ✔