Intel® Acceleration Stack User Guide: Intel FPGA Programmable Acceleration Card N3000
                    
                        ID
                        683040
                    
                
                
                    Date
                    6/14/2021
                
                
                    Public
                
            
                
                    
                        1. About this Document
                    
                    
                
                    
                        2. System Requirements
                    
                    
                
                    
                        3. Hardware Installation
                    
                    
                
                    
                        4. Installing the OPAE Software
                    
                    
                
                    
                        5. OPAE Tools
                    
                    
                
                    
                    
                        6. Sample Test: Native Loopback
                    
                
                    
                        7. Installing the Intel XL710 Driver
                    
                    
                
                    
                        8. Configuring Ethernet Interfaces
                    
                    
                
                    
                        9. Testing Network Loopback Using Data Plane Development Kit (DPDK)
                    
                    
                
                    
                        10. Graceful Shutdown
                    
                    
                
                    
                        11. Single Event Upset (SEU)
                    
                    
                
                    
                    
                        12. Document Revision History for Intel Acceleration Stack User Guide: Intel® FPGA PAC N3000
                    
                
                    
                        A. Troubleshooting
                    
                    
                
                    
                        B. Upgrade your Intel® FPGA PAC N3000 with Production Version of BMC and Intel® Arria® 10 Image
                    
                    
                
                    
                    
                        C. Configure the 4.19 Kernel
                    
                
                    
                        D. fpgabist Sample Output
                    
                    
                
            
        8. Configuring Ethernet Interfaces
    The  Intel® FPGA PAC N3000 contains multiple Ethernet MAC points where each point has specific naming, monitoring and configuration operations. The following figures illustrate the Ethernet data path for each network configuration. 
    
 
   
     Figure 13. 8x10G Configuration
      
       
    
 
    
     Figure 14. 2x2x25G Configuration
      
       
    
 
    
     Figure 15. 4x25G Configuration
      
       
    
 
   
    The above figures show example device naming conventions for the XL710 enp[Y:Z]s0f[3:0]. Your server may have a different naming convention and numbering scheme. You will need 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 in your server, perform the following steps: 
    
 
   - List the available  Intel® FPGA PAC N3000 in your server using:$ sudo fpgainfo fmeSample output:Board Management Controller, Intel® MAX® 10 NIOS FW version D.2.0.19 Board Management Controller, Intel® MAX® 10 Build version D.2.0.6 //****** FME ******// Object Id : 0xEF00000 PCIe s:b:d.f : 0000:15:00.0 Device Id : 0x0b30 Numa Node : 0 Ports Num : 01 Bitstream Id : 0x23000410010309 Bitstream Version : 0.2.3 Pr Interface Id : a5d72a3c-c8b0-4939-912c-f715e5dc10ca Boot Page : user
- Use the following command to find the logical name(s) of the Ethernet interfaces on that  Intel® FPGA PAC N3000:ls -la /sys/class/netSample output:lrwxrwxrwx. 1 root root 0 Nov 20 06:07 enp20s0f0 -> ../../devices/pci0000:11/0000:11:00.0/0000:12:00.0/0000:13:08.0/0000:14:00.0/net/enp20s0f0 lrwxrwxrwx. 1 root root 0 Nov 20 06:07 enp20s0f1 -> ../../devices/pci0000:11/0000:11:00.0/0000:12:00.0/0000:13:08.0/0000:14:00.1/net/enp20s0f1 lrwxrwxrwx. 1 root root 0 Nov 20 06:07 enp22s0f0 -> ../../devices/pci0000:11/0000:11:00.0/0000:12:00.0/0000:13:10.0/0000:16:00.0/net/enp22s0f0 lrwxrwxrwx. 1 root root 0 Nov 20 06:07 enp22s0f1 -> ../../devices/pci0000:11/0000:11:00.0/0000:12:00.0/0000:13:10.0/0000:16:00.1/net/enp22s0f1 lrwxrwxrwx. 1 root root 0 Nov 20 02:34 lo -> ../../devices/virtual/net/lo lrwxrwxrwx. 1 root root 0 Nov 20 22:44 npacf0g0l0 -> ../../devices/pci0000:11/0000:11:00.0/0000:12:00.0/0000:13:09.0/0000:15:00.0/fpga/intel-fpga-dev.0/intel-fpga-fme.0/pac_n3000_net.2.auto/net/npacf0g0l0 lrwxrwxrwx. 1 root root 0 Nov 20 22:44 npacf0g0l1 -> ../../devices/pci0000:11/0000:11:00.0/0000:12:00.0/0000:13:09.0/0000:15:00.0/fpga/intel-fpga-dev.0/intel-fpga-fme.0/pac_n3000_net.2.auto/net/npacf0g0l1 lrwxrwxrwx. 1 root root 0 Nov 20 22:44 npacf0g0l2 -> ../../devices/pci0000:11/0000:11:00.0/0000:12:00.0/0000:13:09.0/0000:15:00.0/fpga/intel-fpga-dev.0/intel-fpga-fme.0/pac_n3000_net.2.auto/net/npacf0g0l2 lrwxrwxrwx. 1 root root 0 Nov 20 22:44 npacf0g0l3 -> ../../devices/pci0000:11/0000:11:00.0/0000:12:00.0/0000:13:09.0/0000:15:00.0/fpga/intel-fpga-dev.0/intel-fpga-fme.0/pac_n3000_net.2.auto/net/npacf0g0l3
For example:
This listing is example of the 8x10G network configuration. The logical device names npacf0g0l[3:0] represents the Ethernet MAC wrapper 0 on the line side Intel® Arria® 10 FPGA. The logical device names enp[Y:Z]s0f[1: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