RFE: Declarative NIC configuration CRD for Pollara 400 (auto-neg, PFC, QoS, DCQCN)
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- go, kubernetes
- Domain
- devops, infrastructure
Research direction
Start by reviewing the operator's current CRD and reconciliation entry points, then compare the required Pollara 400 parameters with the QoS and DCQCN sections of AMD guides UG1801 and UG1813. Done should include a defined declarative NIC policy, validation, reconciliation, status reporting, and coverage for the listed auto-negotiation, PFC, QoS, and DCQCN settings.
Written by the indexing model from the issue text.
Description
Problem
Configuring Pollara 400 NICs for RDMA workloads (auto-negotiation, PFC, QoS, DCQCN) requires imperative nicctl commands per node. These settings don't persist across reboots unless NIC personas are used — and even with personas, applying them is still an imperative, per-node operation that is error-prone at scale.
Proposal
A new CRD (e.g., NicPolicy, NicConfig) that allows users to declaratively define NIC parameters and lets the operator reconcile them. Scope could include:
- Port: auto-negotiation, MTU, FEC, pause type
- QoS: DSCP/PCP classification, PFC no-drop priorities, scheduling (DWRR/SPQ)
- DCQCN: congestion control parameters per RDMA device
Benefits
- Persistence — operator reconciles the desired state, after reboot or firmware changes for persistence
- Validation — reject invalid combinations before applying (e.g., no-drop on an unmapped priority)
- Observability — CRD status reports applied state per node and drift detection
- Day-2 ops — config changes via
kubectl apply, not SSH into each node - Composability — different policies for different node groups (training vs inference)
Context
Running RDMA benchmarks on Pollara 400 requires several nicctl commands per node covering auto-neg, PFC, QoS, and DCQCN configuration. The full set of required parameters is documented in the AMD AI NIC Pollara 400 Ops Guide (UG1801, Sections: QoS Configuration, DCQCN Configuration) and the AMD AI NIC Benchmarking Guide (UG1813, Section: Host Configuration).
- Dominant language
- Go
- Stars
- 8
- Forks
- 11
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 8
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ROCm/network-operator
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
ROCm/network-operator#109 · 1 reaction ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
ROCm/network-operator#108 ·
All issues in ROCm/network-operator
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 84/100
-
enhancement needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
kind/cleanup
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
kubernetes-sigs/kueue#15947 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
sympozium-ai/sympozium#627 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100