Docs: Intel N3000 FPGA Support - FEC Interface Support
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
StarlingX |
Fix Released
|
Medium
|
M Camp |
Bug Description
This is a documentation request for the Intel N3000 FPGA Integration - Storyboard: StoryBoard: https:/
Developer Contact: <email address hidden>
Feature Description
-------------------
The Intel N3000 FPGA also supports forward error correction (FEC) capabilities which are exposed as a PCI device that may be used by a DPDK enabled container application to perform accelerated 5G LDPC encoding and decoding operations.
After the FPGA device is programmed, the FEC device with device id 0xd8f may be seen in the list of host devices:
system host-device-list <worker-node>
+------
| name | address | class id | vendor id | device id | class name | vendor name | device name | numa_node | enabled |
+------
| pci_0000_b7_00_0 | 0000:b7:00.0 | 120000 | 8086 | 0d8f | Processing accelerators | Intel Corporation | Device 0d8f | 1 | True |
...
To enable the FEC device for SR-IOV, it must be modified to set the number of virtual functions (VFs), as well as setting the appropriate userspace drivers for the physical function (PF) and VF. For example:
system host-lock <worker>
system host-device-modify <worker> <name> --driver <vf driver> --vf-driver <vf driver> -N <number of vfs> system host-unlock <worker>
The supported PF driver(s) are:
- igb_uio
The supported VF driver(s) are currently:
- igb_uio
- vfio
To pass the FEC device to a container, the following requests/limits must be entered into the pod specification:
intel.com/
For example:
apiVersion: v1
kind: Pod
metadata:
name: 5gnr
annotations:
k8s.
{ "name": "sriov1" }
]'
spec:
restartPolicy: Never
containers:
- name: 5gnr
image: "5gnr-image"
volumeMounts:
- mountPath: /mnt/huge-1048576kB
name: hugepage
stdin: true
tty: true
resources:
requests:
memory: 4Gi
limits:
memory: 4Gi
volumes:
- name: hugepage
emptyDir:
medium: HugePages
Doc updates for an stx.4.0 feature