# RoCE v2 i praktiken: PFC, DCB och ECN – en driftsättningschecklista

*12 november 2026*

> En praktisk checklista för att rätt konfigurera RoCE v2 i produktionsmiljöer. Lär dig om PFC, DCB, ECN/CNP och skillnader till iWARP.

## RoCE v2 i praktiken – vad du måste veta

RoCE v2 är ett nätverksprotokoll som möjliggör RDMA över Converged Ethernet. Skillnaden mot RoCE v1 är grundläggande: RoCE v1 är ett Ethernet link‑layer protokoll med Ethertype 0x8915 och kan inte räckas mellan broadcast‑domänen. RoCE v2 däremot finns på nivå 3 och kan därför routas – ibland kallat RRoCE eller routable RoCE.

Den här checklisten hjälper dig att ställa in RoCE v2 korrekt i produktionsmiljöer.

## UDP och IP-header – var overhead kommer ifrån

RoCE v2 paketeras i UDP/IP. Enligt Wikipedia är UDP‑header 8 byte och IPv4‑header 20 byte i minsta läge. Vid IPv6 blir IP‑headern 40 byte. Dessa räknas med som overhead och minskar användbar data.

Exempel: Ett RoCE‑paket med 9000 byte payload (jumbo frame) blir totalt 9040–9080 byte med UDP och IP. Varje nätverksdesign bör ta hänsyn till detta.

## PFC – Priority Flow Control för lossless transport

RoCE kräver lossless transport för att uppnå hög prestanda och låg latency. Det görs med PFC (Priority Flow Control), en Ethernet‑funktion som motsvarar InfiniBand‑kreditbaserad flödeskontroll. Utan PFC riskerar du att paket mistsas – en kritisk problematik för RDMA‑verksamheter.

## DCB – Data Center Bridging för enhetlig konfiguration

DCB (Data Center Bridging) är ett ramverk för att konfigurera lossless Ethernet. Det inkluderar PFC, ETS (Enhanced Transmission Selection) och ECN (Explicit Congestion Notification). När du aktiverar DCB måste du koordinera mellan olika nivåer i nätverket.

## ECN och CNP – congestion control i RoCE v2

RoCE v2 har egna mekanismer för congestion control. ECN använder IP‑bits för märkning och CNP (Congestion Notification Packets) skickas som bekräftelseutbyte. Detta förbättrar databasens stabilitet under hög belastning.

## RoCE v2 vs iWARP – vilket protokoll väljer du?

RoCE v2 och iWARP är två olika strategier för RDMA över Ethernet. Mellanox, Xilinx och Broadcom rekommenderar RoCE/RoCE v2. Chelsio rekommenderar iWARP. Intel stödjer båda.

iWARP använder TCP som transport och är robust men har högre overhead. RoCE v2 har lägre latency och bättre prestanda men kräver mer exakt konfiguration.

**Skillnader i transport:** iWARP bygger på TCP, vilket ger tillförlitlighet och återförsändning men också högre fördröjning. RoCE v2 använder UDP, vilket ger lägre latency men ställer större krav på att nätverket är lossless.

**Skillnader i konfiguration:** iWARP fungerar utan särskild PFC-konfiguration eftersom TCP hanterar fel på transportlager. RoCE v2 kräver PFC, DCB och korrekt ECN-inställning på varje switch i sökvägen.

**Skillnader i prestanda:** RoCE v2 når lägre latency, ofta under 1,3 mikrosekunder hos RoCE‑HCA, medan iWARP har högre latency på grund av TCP-stacken. RoCE v2 är därför bättre lämpat för klusterberäkningar, lagringsnätverk och HPC där varje mikrosekund räknas.

**När väljer du vad?** Välj RoCE v2 när du har ett kontrollerat datacenternätverk med lossless-stöd. Välj iWARP när trafik ska gå över mindre kontrollerade nätverk eller när du inte vill konfigurera PFC och DCB.

## Port 4791 – standardiserad RoCE v2-port

UDP‑porten 4791 är reserverad för RoCE v2 enligt IANA. Detta förenklar brandväggskonfigurationen. Kom ihåg att RoCE v2 kräver UDP och inte TCP.

## Linux kernelsupport – vad du behöver

Mellanox OFED 2.3 eller senare har RoCE v2‑stöd. Linux‑kerneln kräver minst version 4.5 för fullt stöd.

## Vanliga misstag att undvika

- Glöm PFC → paket kan gå förlorade och prestandan sjunker
- Använd 1500‑byte MTU → begränsar dataöverföringen
- Ingen DCB‑konfiguration → osäkert nätverk
- TCP‑brandväggsregler → blockerar RoCE‑trafik
- Inaktiverad CNP → försämrad congestion control

## Steg för steg: konfigurera RoCE v2 på rätt sätt

1. **PFC-inställningar på switchar:** Aktivera PFC på alla switchar i sökvägen. Konfigurera samma prioritet (t.ex. prioritet 3) för RDMA-trafik på varje switch, och se till att PFC är aktiverat end-to-end från server till server.

2. **ETS-inställningar:** Konfigurera ETS (Enhanced Transmission Selection) för att reservera bandbredd till RDMA-trafik. Tilldela en dedikerad kö för RoCE v2-trafik och sätt en lämplig bandbreddsandel, så att annan nätverkstrafik inte tränger undan RDMA-paketen.

3. **ECN-konfiguration på switchar:** Aktivera ECN (Explicit Congestion Notification) på alla switchar och routrar i nätverket. Konfigurera ECN-tröskelvärden så att switchar markerar paket när köerna börjar fyllas, och se till att CNP-paket (Congestion Notification Packets) kan skickas tillbaka till sändande värd.

4. **Brandvägg och portar:** Öppna UDP-port 4791 i brandväggen för RoCE v2-trafik. Blockera inte UDP 4791 mellan servrar som ska kommunicera med RoCE v2. Kom ihåg att RoCE v2 använder UDP, inte TCP.

5. **Operativsystem och drivrutiner:** Verifiera att servrarna kör Linux kernel 4.5 eller senare, eller har Mellanox OFED 2.3+ installerat. Installera och konfigurera RDMA-drivrutiner på varje värd.

6. **MTU och jumbo frames:** Testa med jumbo frames (MTU 9000) för maximal genomströmning. Se till att alla switchar i sökvägen stödjer samma MTU-värde, annars fragmenteras paketen och prestandan försämras.

7. **Övervakning av paketförluster:** Övervaka paketförluster på varje switch och värd. Använd räknare för PFC-paus, ECN-markeringar och CNP-paket för att upptäcka problem tidigt. Justera CNP-inställningar om du ser återkommande congestion.

8. **Testning i produktion:** Kör prestandatester med faktisk arbetsbelastning innan du sätter nätverket i skarpt drift. Mät latency och genomströmman under varierande belastning.

## Frågor och svar om RoCE v2

**Fungerar RoCE v2 över internet?** Nej, inte utan ytterligare skydd. RoCE v2 använder UDP som inte är tillförlitligt över otrygga nätverk. Använd iWARP eller krypterade VPN-tunnlar om du behöver RDMA över internet.

**Kan jag blanda RoCE v1 och v2 i samma nätverk?** De är inte direkt kompatibla eftersom v1 är link‑layer och v2 routas. Du behöver separata nätverkssegment eller en gateway.

**Behöver man jumbo frames?** Inte nödvändigtvis, men MTU 9000 minskar overhead per paket och ökar effektiv bandbredd. Det är särskilt värdefullt för storskalig lagring och klusterberäkningar.

**Vilken switch behöver man?** En switch som stödjer PFC, DCB och ECN. Många datacenterswitchar har detta inbyggt, men konfigurationen måste vara korrekt på varje enhet i sökvägen.

## Summering

RoCE v2 är ett kraftfullt protokoll för RDMA över Ethernet, men det kräver rätt konfiguration av PFC, DCB, ECN och CNP. Med rätt inställningar får du låg latency och hög prestanda i produktionsmiljöer.
