10. Configuring Ethernet Interfaces
The Intel® FPGA PAC N3000-N/2 contains multiple Ethernet MAC points where each point has specific naming, monitoring and configuration operations.
Note: The Intel provided factory image does not support Ethernet auto-negotiation and as a result, you must manually provision port settings to match the remote Ethernet link partner.
The following figures illustrate the Ethernet data path for each network configuration.
Figure 9. 4x25G Configuration
Figure 10. 2x2x25G Configuration
The above figures illustrate example device naming conventions for the XL710 enp[Y:Z]s0f[1:0]. Your server may have a different naming convention and numbering scheme. Additionally, the Intel® Arria® 10 FPGA contains Ethernet MACs with network logical naming scheme of npacf[X]g0l[3:0]. You must obtain the network logical names to use Linux tools for link configuration and monitoring. To find the network logical names of a specific Intel® FPGA PAC N3000-N/2 in your server, perform the following steps:
- List the available Intel® FPGA PAC N3000-N/2 in your server using:
$ sudo fpgainfo fme
Sample output:Board Management Controller, MAX10 NIOS FW version D.2.1.24 Board Management Controller, MAX10 Build version D.2.0.7 //****** FME ******// Object Id : 0xED00001 PCIe s:b:d.f : 0000:1c:00.0 Device Id : 0x0b30 Numa Node : 0 Ports Num : 01 Bitstream Id : 0x23000110010310 Bitstream Version : 0.2.3 Pr Interface Id : f3c99413-5081-4aad-bced-07eb84a6d0bb Boot Page : user Board Management Controller, MAX10 NIOS FW version D.2.1.24 Board Management Controller, MAX10 Build version D.2.0.7 //****** FME ******// Object Id : 0xED00000 PCIe s:b:d.f : 0000:8a:00.0 Device Id : 0x0b30 Numa Node : 1 Ports Num : 01 Bitstream Id : 0x23000110010310 Bitstream Version : 0.2.3 Pr Interface Id : f3c99413-5081-4aad-bced-07eb84a6d0bb Boot Page : user
- Use the following command to find the logical name(s) of the Ethernet interfaces on the target Intel® FPGA PAC N3000-N/2:
ls -la /sys/class/net
In the following example, if you want to change settings on the Intel® FPGA PAC N3000-N/2 with PCIe b:d.f 8a:00.0, then ensure that the PCIe device ID for enp136s0f0, enp136s0f1, enp139s0f0 and enp139sof1 is in the range of 88-8b.
Sample output:drwxr-xr-x. 2 root root 0 . drwxr-xr-x. 59 root root 0 .. lrwxrwxrwx. 1 root root 0 enp0s20f0u4 -> ../../devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/net/enp0s20f0u4 lrwxrwxrwx. 1 root root 0 enp136s0f0 -> ../../devices/pci0000:85/0000:85:00.0/0000:86:00.0/0000:87:08.0/0000:88:00.0/net/enp136s0f0 lrwxrwxrwx. 1 root root 0 enp136s0f1 -> ../../devices/pci0000:85/0000:85:00.0/0000:86:00.0/0000:87:08.0/0000:88:00.1/net/enp136s0f1 lrwxrwxrwx. 1 root root 0 enp139s0f0 -> ../../devices/pci0000:85/0000:85:00.0/0000:86:00.0/0000:87:10.0/0000:8b:00.0/net/enp139s0f0 lrwxrwxrwx. 1 root root 0 enp139s0f1 -> ../../devices/pci0000:85/0000:85:00.0/0000:86:00.0/0000:87:10.0/0000:8b:00.1/net/enp139s0f1 lrwxrwxrwx. 1 root root 0 enp175s0f0 -> ../../devices/pci0000:ae/0000:ae:00.0/0000:af:00.0/net/enp175s0f0 lrwxrwxrwx. 1 root root 0 enp175s0f1 -> ../../devices/pci0000:ae/0000:ae:00.0/0000:af:00.1/net/enp175s0f1 lrwxrwxrwx. 1 root root 0 enp26s0f0 -> ../../devices/pci0000:17/0000:17:00.0/0000:18:00.0/0000:19:08.0/0000:1a:00.0/net/enp26s0f0 lrwxrwxrwx. 1 root root 0 enp26s0f1 -> ../../devices/pci0000:17/0000:17:00.0/0000:18:00.0/0000:19:08.0/0000:1a:00.1/net/enp26s0f1 lrwxrwxrwx. 1 root root 0 enp29s0f0 -> ../../devices/pci0000:17/0000:17:00.0/0000:18:00.0/0000:19:10.0/0000:1d:00.0/net/enp29s0f0 lrwxrwxrwx. 1 root root 0 enp29s0f1 -> ../../devices/pci0000:17/0000:17:00.0/0000:18:00.0/0000:19:10.0/0000:1d:00.1/net/enp29s0f1 lrwxrwxrwx. 1 root root 0 enp59s0f0 -> ../../devices/pci0000:3a/0000:3a:00.0/0000:3b:00.0/net/enp59s0f0 lrwxrwxrwx. 1 root root 0 enp59s0f1 -> ../../devices/pci0000:3a/0000:3a:00.0/0000:3b:00.1/net/enp59s0f1 lrwxrwxrwx. 1 root root 0 enp94s0f0 -> ../../devices/pci0000:5d/0000:5d:00.0/0000:5e:00.0/net/enp94s0f0 lrwxrwxrwx. 1 root root 0 enp94s0f1 -> ../../devices/pci0000:5d/0000:5d:00.0/0000:5e:00.1/net/enp94s0f1 lrwxrwxrwx. 1 root root 0 lo -> ../../devices/virtual/net/lo lrwxrwxrwx. 1 root root 0 npacf0g0l0 -> ../../devices/pci0000:17/0000:17:00.0/0000:18:00.0/0000:19:09.0/0000:1c:00.0/fpga/intel-fpga-dev.0/intel-fpga-fme.0/pac_n3000_net.2.auto/net/npacf0g0l0 lrwxrwxrwx. 1 root root 0 npacf0g0l1 -> ../../devices/pci0000:17/0000:17:00.0/0000:18:00.0/0000:19:09.0/0000:1c:00.0/fpga/intel-fpga-dev.0/intel-fpga-fme.0/pac_n3000_net.2.auto/net/npacf0g0l1 lrwxrwxrwx. 1 root root 0 npacf0g0l2 -> ../../devices/pci0000:17/0000:17:00.0/0000:18:00.0/0000:19:09.0/0000:1c:00.0/fpga/intel-fpga-dev.0/intel-fpga-fme.0/pac_n3000_net.2.auto/net/npacf0g0l2 lrwxrwxrwx. 1 root root 0 npacf0g0l3 -> ../../devices/pci0000:17/0000:17:00.0/0000:18:00.0/0000:19:09.0/0000:1c:00.0/fpga/intel-fpga-dev.0/intel-fpga-fme.0/pac_n3000_net.2.auto/net/npacf0g0l3 lrwxrwxrwx. 1 root root 0 npacf1g0l0 -> ../../devices/pci0000:85/0000:85:00.0/0000:86:00.0/0000:87:09.0/0000:8a:00.0/fpga/intel-fpga-dev.1/intel-fpga-fme.1/pac_n3000_net.6.auto/net/npacf1g0l0 lrwxrwxrwx. 1 root root 0 npacf1g0l1 -> ../../devices/pci0000:85/0000:85:00.0/0000:86:00.0/0000:87:09.0/0000:8a:00.0/fpga/intel-fpga-dev.1/intel-fpga-fme.1/pac_n3000_net.6.auto/net/npacf1g0l1 lrwxrwxrwx. 1 root root 0 npacf1g0l2 -> ../../devices/pci0000:85/0000:85:00.0/0000:86:00.0/0000:87:09.0/0000:8a:00.0/fpga/intel-fpga-dev.1/intel-fpga-fme.1/pac_n3000_net.6.auto/net/npacf1g0l2 lrwxrwxrwx. 1 root root 0 npacf1g0l3 -> ../../devices/pci0000:85/0000:85:00.0/0000:86:00.0/0000:87:09.0/0000:8a:00.0/fpga/intel-fpga-dev.1/intel-fpga-fme.1/pac_n3000_net.6.auto/net/npacf1g0l3 lrwxrwxrwx. 1 root root 0 virbr0 -> ../../devices/virtual/net/virbr0 lrwxrwxrwx. 1 root root 0 virbr0-nic -> ../../devices/virtual/net/virbr0-nic
For example:
This listing is an example of the 4x25G network configuration. The logical device names npacf1g0l[0, 1, 2, 3] represents the Ethernet MAC wrapper 0 on the line side of the Intel® Arria® 10 FPGA. The logical device names enp[136 and 139]s0f[1 and 0] are the XL710 Ethernet ports.
The pac_n3000_net platform device driver creates the standard Linux network device interfaces for each Intel® Arria® 10 FPGA Ethernet MAC pair. It provides C827 re-timer information for unified network status reporting. It enables use of standard Linux tools for both link configuration and monitoring.
$ lsmod | grep pac_n3000_net pac_n3000_net 28483 1 c827_retimer