Who actually ships SRv6: the Dell and NVIDIA support matrix
S3·E3Does Dell do SRv6? One word, they said · Hotel lobby, 07:20, an hour before the design review
Builds on: NVIDIA switching: uN and uA on Spectrum-4, NVIDIA NIC and DPU: SRH push with DOCA Flow
Before you read: what do you already know?
3 quick questions. Wrong answers are fine and expected; trying first makes the lesson stick.
After this lesson you can
- Classify every SRv6 capability claim as published, not published or unverified, with a URL and a fetch date.
- Judge why a community SONiC HLD is not evidence of a Dell shipping feature and why an HTTP 403 is not evidence of absence.
- Build a primary-source capability matrix across Dell NVIDIA community SONiC Linux and FRR.
- Deliver a two-sentence spoken answer to end-to-end SRv6 across PowerSwitch and NVIDIA without guessing.
Episode 3 — Does Dell do SRv6? One word, they said
The Dell SE finds you before breakfast, coffee already cold, procurement having texted him twice overnight about lead times. He has the question the customer will ask at nine: do their PowerSwitch boxes do SRv6, yes or no. One word is exactly what will cost you the account.
Here is what you can say with a document in your hand. The Dell Enterprise SONiC compatibility matrix for release 4.4.0 contains zero occurrences of “SRv6” or “segment” in its full extracted text, and its Layer 3 rows stop at BGP, static routing, BFD, VRRP, ECMP, PBR and hashing.[1] That is a not-published verdict, with a revision and a date attached to it. SmartFabric OS10 is a different situation: a probe at a plausible segment-routing chapter URL returned HTTP 403 because Dell support blocks non-browser clients, which is a fact about your client and not about the product.[5] That one is unverified, and the two words are not interchangeable.
The discipline exists because the customer acts on whichever word you say. “Not supported” redirects a platform decision and a budget, and if the feature turns out to exist you have cost them money and spent the only asset an FAE really owns. Meanwhile the NVIDIA side is narrow but genuinely published: Cumulus Linux supports uN and uA on the Spectrum-4 switch only, in the default VRF only.[9]
Published, not published and unverified are three different answers; collapsing them into two is how an account gets lost.
Segment 1 defines the three states before you build a single cell.
1Three states, not two
Every support question a customer asks has three possible honest answers, and most damage comes from collapsing them into two. Published means a vendor document you can link says the feature exists, with a release and a scope. Not published means you read the relevant document and the feature is not in it. Unverified means you could not read the relevant document at all.
The three are not interchangeable. “Not published” is a statement about a document you have; “unverified” is a statement about a document you do not have. A customer can act on both, but only if you say which one you mean.
This lesson is the evidence-quality lesson of the course, so the rules are explicit and they apply to every cell you will build in the lab:
- A cell without a URL and a fetch date is not a cell, it is a memory.
- A community design document is never evidence of a vendor shipping feature.
- An HTTP 403 is never evidence of absence.
- A software statement is never a silicon capability claim.
- Zero occurrences of a term in a document you fetched is a real finding, and worth stating as a count.
| Feature | Linux seg6 | FRR | Cumulus / Spectrum-4 | Community SONiC | DOCA Flow 3.5.0 | Dell |
|---|---|---|---|---|---|---|
uN End with NEXT-CSID | ||||||
uA End.X with NEXT-CSID | ||||||
End / End.X classic RFC 8986, uncompressed | ||||||
End.DT46 / uDT46 service SID, decap into a VRF | ||||||
SRH push H.Encaps / H.Encaps.Red | ||||||
SRH removal POP in hardware | ||||||
REPLACE-C-SID RFC 9800 second flavor | ||||||
PSP / USP / USD RFC 8986 flavors | ||||||
IGP SID distribution IS-IS per RFC 9352 | ||||||
BGP service SIDs L3VPN per RFC 9252 | ||||||
TI-LFA over SRv6 RFC 9855, October 2025 | ||||||
HMAC TLV RFC 8754 TLV type 5 |
✓ yes · ✗ no · ◐ conditional · ? unknown · — n/a. Click a cell for the evidence.
⚠ = not confirmed on a fetched primary source (hover for why). Facts as of DOCA 3.5.0 (Sep 2026). Selections are saved.
2The Dell side, stated exactly
Dell Enterprise SONiC. The Dell Enterprise SONiC Distribution Compatibility Matrix Release 4.4.0, dated August 2024, Rev. A00, contains zero occurrences of “SRv6” or “segment” in its full extracted text.[1] Its Layer 3 feature rows are exactly BGPv4 and BGPv6, IPv4 and IPv6 static routing, BFD, VRRP, ECMP, DHCP relay, OSPFv2, NAT, L3 IGMP, PIM SSM, IP SLA with ICMP and TCP tracking, policy-based routing, routed sub-interfaces, adaptive routing (ARS and DLB), QPN hashing, flow-based hashing and versatile hashing — no segment routing of any kind.[1] The platforms that matrix covers are the Z9864F-ON, Z9664F-ON, Z9432F-ON, Z9332F-ON and Z9264F-ON, the S5448F-ON, the S5232F-ON, S5248F-ON and S5296F-ON, the S5224F-ON and S5212F-ON, and the N3248X-ON and N3248P-ON families.[1] The Dell spec sheet for the same product also contains no mention of SRv6 or segment routing; its routing bullets are BGPv4 and BGPv6 with BGP Unnumbered, policy-based routing, proxy ARP, static routing, routed sub-interfaces, resilient hashing, UDF hashing and RoCEv2 with DCBx.[2]
That is a not published verdict, with a document, a revision and a date.
Whether 4.5.x adds SRv6 is a different question and the answer is unverified: the 4.5 release notes sit behind the Dell Digital Locker, and a public search on 2026-09-07 while writing this lesson surfaced only the same 4.4.0 asset.[1] The image in this course’s lab is vrnetlab/dell_sonic:4.5.1, run under containerlab’s dell_sonic kind[15] — so this is not academic; it is the switch in the middle of the topology.
Dell SmartFabric OS10. Here the evidence is thinner and the discipline matters more. The 10.6.0 User Guide’s fetched table of contents shows no chapter named “Segment routing”, “SRv6”, “SR-MPLS” or “MPLS” — the chapters returned were Notes and cautions, About this guide, Change history, Getting Started, Hardware Compatibility List, CLI Basics, Advanced CLI tasks, zero-touch deployment, provisioning, System management and Interfaces — but the TOC extraction was partial, so this is weak negative evidence.[3] The 10.6.0.6 release notes page rendered as “Data is not available for the Topic” and contained no occurrence of SRv6, segment routing or MPLS.[4] A direct probe at a plausible segment-routing chapter slug returned HTTP 403, because Dell support blocks non-browser clients — which tells you about the client, not the content.[5]
Verdict: unverified. Not “unsupported”. The difference is the whole lesson.
3The community SONiC side, which is not the Dell side
Community SONiC has had SRv6 design work since 2021, and it is genuinely substantial. The design documents live in sonic-net/SONiC under doc/srv6/, and the base HLD is at revision 0.5 dated 2024-04-07, with the original version 0.1 dated 2021-06-05; it states “it is based on IETF RFC 8754 and RFC 8986.”[6] Phase 1 scope is verbatim: “Support END… Support END.DT46… Support H.Encaps.Red… Support traffic steering on SID list”, with uSID and G-SID, END.X, HMAC, sBFD and anycast SID deferred to later phases.[6] That phase list also defers per-MySID counters, but it was written in 2021 and never revised: revision 0.5 (2024-04-07, “Add MySID counters”) adds the flex-counter design, the 10-second default polling interval and the CLI that the next lesson uses.[6] Read the revision table before you quote a scope list — a design document can disagree with itself.
Two things in that corpus are worth carrying into a customer conversation. First, the defaults disagree with each other: the 2021-era SRV6_MY_SID_TABLE defaults are block 40, node 24, function 16, while the 2024 YANG model and the 2025 static-configuration HLD use block 32, node 16, function 16, argument 0.[6][7] A customer quoting one document will not match a customer quoting the other, and both are current. Second, the static-config HLD (revision 0.4, dated 2025-11-12, which added uA) introduces SRV6_MY_LOCATORS and SRV6_MY_SIDS tables programmed by a new SRv6 Manager module in bgpcfgd, and that manager “relies on the new configuration CLI brought in by FRR PR#16894” — the static-sids CLI that shipped in FRR 10.3 on 2025-03-21.[7][14]
The uSID HLD adds the authoritative string-to-SAI behavior map, including "un" to UN and "ua" to UA, and notes that “current SAI API definitions already support uSID instructions. No SAI API change required.”[8]
None of that is evidence about Dell. A customer’s SRv6-on-SONiC story depends on two questions that the HLDs cannot answer: does the ASIC’s SAI implementation support my_sid_entry on that specific platform, and does their distribution ship FRR 10.3 or later.[6][7] Ask those two first; everything else is downstream of them.
4The NVIDIA side, which is narrow and published
Switching. Cumulus Linux “supports source based routing with SRv6”, and the architecture statement is the one to quote: “The NICs connected to the switch fabric perform SRv6 origination and termination, and the switches act as SRv6-aware nodes. SRv6 allows NICs to directly control the path that traffic takes throughout the fabric by encoding an ordered list of SRv6 segment identifiers (uSIDs) in the packet header.”[9] The behavior scope is exactly two: “Cumulus Linux supports uN (End with NEXT-CSID) and uA (End.X with NEXT-CSID) endpoint behaviors, defined in RFC9800.”[9] The hardware and VRF scope is equally exact: “On the Spectrum-4 switch only. In the default VRF only”, with a maximum of 256 locators.[9] Every nv set router segment-routing command is stamped “Introduced in Cumulus Linux 5.14.0”, and the scope text is byte-for-byte identical in 5.14, 5.15, 5.16 and 5.18 — no functional expansion has landed through 5.18.[10][9]
What it does not document is just as important on a call: End, End.T, the End.DT and End.DX families, End.B6, configurable PSP, USP or USD flavors, REPLACE-C-SID, IS-IS or BGP SRv6 signalling, SRv6 L3VPN, SRv6 EVPN, TI-LFA over SRv6 and HMAC.[9][10] Static SIDs only.
One inference you must not make: the only NVIDIA statement about which silicon does SRv6 is that Cumulus software sentence. No per-ASIC SRv6 capability table was found on any NVIDIA product or datasheet page, so “Spectrum-2 and Spectrum-3 cannot do SRv6” is unverified — what is published is that Cumulus Linux does not support it there.[9]
NICs and DPUs. DOCA Flow “provides hardware-accelerated SRv6 support for IPv6 Segment Routing. SRv6 is implemented as an external action; that is, a plugin that extends the standard DOCA Flow action set”, registered with doca_flow_external_action_srv6_register() before doca_flow_init().[11] The limitations are published and consequential: “currently, only the PUSH operation is supported in hardware. SRH removal (POP) must be performed in software”, and “SRv6 PUSH strictly requires an internal scratch register on the port. If this register is unavailable (which is dependent on the specific hardware model and firmware configuration), the pipe creation will fail.”[11] The feature first appears in the DOCA Flow guide at 3.3.0 with zero occurrences of “srv6” in 3.2.0, and it is mentioned in no release-notes page at all — so the introducing version is an inference from page diffs, not a vendor statement.[17][18]
Underneath, the DPDK mlx5 driver lists the flow item SRv6 and the actions RTE_FLOW_ACTION_TYPE_IPV6_EXT_PUSH and RTE_FLOW_ACTION_TYPE_IPV6_EXT_REMOVE, all requiring hardware steering, with the constraints that the next layer must be TCP or UDP and “IPv6 routing header must be the only present extension.”[12] So IPV6_EXT_REMOVE exists at the DPDK layer while DOCA Flow says hardware POP is not yet available through DOCA. Both are true; they are different API layers over the same silicon, and for a DOCA user the DOCA guide is the one that binds.[11][12]
Brief — Email, Tuesday: "We want to offer the BlueField-3 B3140H SuperNIC in the XE9780 for Spectrum-X customers. Can NVIDIA qualify it? I need a plan by Friday."
Dell platform PM (17G AI servers): So — can you get it qualified? What do you need from us to start?
5Build the matrix and say the sentence
Rows. Dell Enterprise SONiC 4.4.0, Dell OS10 10.6.0, community SONiC master, Cumulus Linux 5.14 and 5.18, DOCA Flow 3.5.0, DPDK mlx5, the Linux kernel, FRR 10.7.1.
Columns. SRH push, End or uN, uA, service SIDs, IGP signalling, BGP signalling.
Four worked cells.
| Product | Capability | State | Evidence |
|---|---|---|---|
| Dell Enterprise SONiC 4.4.0 | any SRv6 | Not published | Zero occurrences of SRv6 or segment in the full extracted matrix text; Layer 3 rows end at hashing[1] |
| Dell OS10 10.6.0 | any SRv6 | Unverified | Partial TOC with no segment-routing chapter; release notes returned no data; probed chapter URL returns 403[3][4][5] |
| Cumulus Linux 5.18 | uA | Published | “Cumulus Linux supports uN (End with NEXT-CSID) and uA (End.X with NEXT-CSID) endpoint behaviors, defined in RFC9800”, Spectrum-4 only, default VRF only[9] |
| DOCA Flow 3.5.0 | SRH push | Published, with a limit | Hardware PUSH only; POP in software; requires a port scratch register whose availability is hardware-model and firmware dependent[11] |
The spoken answer, two sentences. “NVIDIA publishes SRv6 in two places — Spectrum-4 switches with Cumulus Linux 5.14 or later doing uN and uA static SIDs in the default VRF, and ConnectX and BlueField pushing an SRH through DOCA Flow from 3.3.0 — while Dell’s newest publicly available Enterprise SONiC feature matrix lists no SRv6 at all and no OS10 page I can fetch mentions segment routing. That second half is unverified rather than unsupported, so I will pull the current 4.5 matrix and the OS10 feature matrix from the Digital Locker before either of us puts a number on it.”
What you must fetch before committing. The Dell Enterprise SONiC 4.5.x compatibility matrix and release notes; the current OS10 feature matrix for the customer’s platform; and, if the design needs it, confirmation of which BlueField or ConnectX generation exposes the DOCA Flow SRv6 external action on their firmware.[11]
Complete these cells with a state and evidence.
| Product | Capability | State | Evidence |
|---|---|---|---|
| Community SONiC master | End.DT46 | ____________ | Base HLD phase 1 scope names ______ , ______ , ______ and traffic steering on a SID list |
| Community SONiC master | uA | ____________ | Static-config HLD rev ___ dated __________ added it; depends on FRR PR ______ shipped in FRR ______ |
| Cumulus Linux 5.18 | service SIDs | ____________ | The page documents ______ BGP service SIDs; SRv6 there is fabric transport for ______-originated traffic |
| Linux kernel | End.DT46 | ____________ | Implemented in the kernel action table; requires ______ and net.vrf.strict_mode=___ |
| FRR 10.7.1 | BGP signalling | ____________ | RFC 9252 L3VPN and global-table SRv6; ______ over SRv6 is not documented[16] |
| Spectrum-2 | any SRv6 | ____________ | No per-ASIC capability table found; the only NVIDIA statement is a ______ statement in the Cumulus docs |
Then write your own two-sentence spoken answer and one line naming what you must fetch before you commit.
Build the whole matrix from primary sources only. Nine rows, six columns, every cell carrying one of the three states plus a URL and a fetch date. Then produce the two-sentence spoken answer to “can we run SRv6 end to end across PowerSwitch and NVIDIA?” and a one-line list of documents you must fetch from the Dell Digital Locker before you commit.
Acceptance criteria. No cell asserts support or non-support from a community HLD. No cell treats a 403 or a partial extraction as absence. Every “published” cell quotes or paraphrases a sentence you can point at. At least one cell is marked unverified with the reason and the document that would settle it. The spoken answer contains no adjective you could not defend, and it names the architectural escape hatch — that a non-SRv6 hop is a valid transit node under RFC 8754 section 3.2, so the customer needs SRv6 only on the nodes whose SIDs appear in the list.[13]
Nine o'clock, one page
The matrix goes up as one page: a row per product, a column per capability, every cell carrying a URL and a fetch date. Dell Enterprise SONiC 4.4.0 is not published, OS10 is unverified with the 403 written into the cell, and NVIDIA is published but narrow, with Spectrum-4 uN and uA on the switch and DOCA Flow SRH push in hardware while removal stays in software.[1][5][9][11] The sentence you actually say: “End to end today means the NICs originate and terminate, the NVIDIA switches are the SRv6-aware nodes, the Dell gear is IPv6 transit, and I will have the 4.5 matrix for you by Thursday.” Nobody argues. Then the network lead turns his notebook around: he has drawn the pod topology already, and promised his director a date.
Lab
No hardware is required for this lesson. The optional exercise below needs equipment most labs do not have; do it only if the hardware is already in front of you.
Pre-flight inventory (read-only). If a Dell PowerSwitch and an NVIDIA switch are both present: record each switch’s model, its NOS and version (show version on OS10 or SONiC, nv show system version on Cumulus Linux), the interconnect topology, and the current IPv6 addressing on the links you intend to use. Change nothing yet.
- Optional, customer or partner lab only — build the mixed topology. Endpoints in Linux or on a BlueField-3, the NVIDIA switch as an SRv6-aware node where present, and the Dell switch in the middle configured only for ordinary IPv6 forwarding. Expected: the Dell switch needs no SRv6 configuration at all. Rollback: the Dell switch receives only IPv6 addressing and routing you added; remove those interface and route statements and re-check
show running-configurationagainst your pre-flight capture. - Demonstrate the architectural point. Send traffic through a segment list whose SIDs are instantiated only on the endpoints and, if present, the NVIDIA switch. Expected: it forwards, because a transit node under RFC 8754 section 3.2 does nothing SR-specific — it forwards on the destination address like any other IPv6 packet.[13] If not: check the underlay reachability of the SID block before suspecting the Dell node of SRv6 behaviour it never had.
- Record the result as evidence. Write the outcome with the exact NOS versions and the date. This transcript is the artefact that makes the “you do not need every switch” argument concrete for the next customer.
- Do not generalise. Note explicitly that this demonstrates transit-node behaviour on the specific platform and release you ran, and says nothing about whether that Dell release supports SRv6 endpoints — which remains unverified until the Digital Locker matrix is in hand.[1][3]
Goal. Build the SRv6 support matrix from primary sources and produce the spoken answer. No hardware required; everything here is reading and writing.
- Set up the sheet. Nine rows — Dell Enterprise SONiC 4.4.0, Dell OS10 10.6.0, community SONiC master, Cumulus Linux 5.14, Cumulus Linux 5.18, DOCA Flow 3.5.0, DPDK mlx5, Linux kernel, FRR 10.7.1 — and six columns: SRH push, End or uN, uA, service SIDs, IGP signalling, BGP signalling. Every cell needs a state, a URL and a fetch date.
- Dell rows. Record the 4.4.0 matrix finding as a count of occurrences, not as an impression, and list the Layer 3 rows it does contain.[1][2] For OS10, record all three pieces of evidence separately: partial TOC, empty release-notes page, 403 on the probed chapter.[3][4][5] Expected: one “not published” verdict and one “unverified” verdict. If not: you have merged two different evidence qualities into one cell.
- Community SONiC rows. Fill from the base HLD, the static-config HLD and the uSID HLD, and record both default SID-structure sets with the document each comes from.[6][7][8] Expected: every cell is labelled as a community design state, never as a Dell shipping state.
- NVIDIA rows. Fill Cumulus from the Segment Routing page and the NVUE reference, including the “Spectrum-4 only” and “default VRF only” scope and the 5.14 introduction stamp.[9][10] Fill DOCA Flow from the programming guide including the PUSH-only and scratch-register limits.[11] Add the DPDK mlx5 row and note the POP discrepancy between the two API layers.[12]
- Linux and FRR rows. Fill from module 2’s material and mark FRR’s EVPN-over-SRv6 cell as unverified, because the BGP guide documents L3VPN and global-table SRv6 only.[16]
- Two sentences. Write the spoken answer, then read it aloud and delete every word you could not source. Expected: it survives at two sentences. If not: the extra words are usually a guess wearing a hedge.
- The fetch list. One line naming exactly what you will pull from the Dell Digital Locker and by when.
- Peer review. Run the scenario simulator’s DOCA qualification drill and apply its rubric to your own matrix, flagging every claim that lacks a primary-source citation or a three-state answer.
Retrieval check
10 questions from memory. Answer before looking anything up; misses become flashcards.
Explain it to a Dell SE
A Dell OEM customer asks: can we run SRv6 end to end across PowerSwitch and NVIDIA? Answer in five sentences without guessing at anything.
Sources
Facts in this lesson were checked against Dell Enterprise SONiC compatibility matrix 4.4.0 and spec sheet, Dell OS10 10.6.0 guide and 10.6.0.6 release notes (2026-09-07); community SONiC srv6 HLDs at master; Cumulus Linux 5.18 and NVUE reference; DOCA Flow 3.5.0; DPDK 26.07.0 mlx5. A public search for a Dell Enterprise SONiC 4.5 matrix on 2026-09-07 returned only the 4.4.0 asset.. Dates are when each page was fetched.
- Dell Enterprise SONiC Distribution Compatibility Matrix Release 4.4.0 (August 2024 Rev. A00) · fetched 2026-09-07
- Spec Sheet: Enterprise SONiC Distribution by Dell Technologies · fetched 2026-09-07
- Dell SmartFabric OS10 User Guide Release 10.6.0 — About this guide · fetched 2026-09-07
- Dell SmartFabric OS10 10.6.0.6 Release Notes · fetched 2026-09-07
- Dell SmartFabric OS10 10.6.0 — probed segment-routing chapter URL (HTTP 403) · fetched 2026-09-07
- SONiC HLD: Segment Routing over IPv6 (SRv6) — base HLD rev 0.5 · fetched 2026-09-07
- SONiC HLD: Static Configuration of SRv6 in SONiC — rev 0.4 · fetched 2026-09-07
- SONiC HLD: SRv6 uSID · fetched 2026-09-07
- Segment Routing | Cumulus Linux 5.18 · fetched 2026-09-07
- Segment Routing | NVUE Command Reference (Set and Unset) · fetched 2026-09-07
- DOCA Flow Programming Guide (v3.5.0) · fetched 2026-09-07
- NVIDIA MLX5 Ethernet Driver — DPDK 26.07.0 · fetched 2026-09-07
- RFC 8754 — IPv6 Segment Routing Header (SRH) · fetched 2026-09-07
- GitHub API: FRRouting/frr releases · fetched 2026-09-07
- Containerlab — Dell Enterprise SONiC (dell_sonic kind) · fetched 2026-09-07
- FRR documentation — BGP (latest) · fetched 2026-09-07
- DOCA Flow Programming Guide (v3.3.0) · fetched 2026-09-07
- DOCA Flow Programming Guide (v3.2.0) · fetched 2026-09-07
The same idea elsewhere
Other lessons that cover this ground, sometimes from another course's angle.
- The switch half: Cumulus NVUE and Dell Enterprise SONiCRoCE course · Same ground: sonic, cumulus and matrix
- Dell PowerSwitch SN-series: who supports whatSpectrum-X course · Same ground: sonic, support and powerswitch
- NUMA alignment with Topology Manager and CPU ManagerK8sNet course · Same ground: scope, limits and fae