Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:dpi:dpi_components:platform:dpi_config:admin_dpsk:start [2020/12/01 13:42] – edrudichgmailcom | en:dpi:dpi_components:platform:dpi_config:admin_dpsk:start [2022/03/30 09:06] (current) – removed edrudichgmailcom | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== 3 DPDK Version Configuration ====== | ||
- | {{indexmenu_n> | ||
- | |||
- | [[https:// | ||
- | |||
- | ==== System Preparation ==== | ||
- | The first step to work with DPDK is to take the network cards out of the control of the operating system. DPDK works with PCI devices, that can be displayed with the command: | ||
- | < | ||
- | > lspci|grep Eth | ||
- | 41:00.0 Ethernet controller: Intel Corporation Ethernet Controller XXV710 for 25GbE SFP28 (rev 02) | ||
- | 41:00.1 Ethernet controller: Intel Corporation Ethernet Controller XXV710 for 25GbE SFP28 (rev 02) | ||
- | c6:00.0 Ethernet controller: Broadcom Inc. and subsidiaries BCM57416 NetXtreme-E Dual-Media 10G RDMA Ethernet Controller (rev 01) | ||
- | c6:00.1 Ethernet controller: Broadcom Inc. and subsidiaries BCM57416 NetXtreme-E Dual-Media 10G RDMA Ethernet Controller (rev 01) | ||
- | > | ||
- | </ | ||
- | This command will list all PCI ethernet devices. Each line starts with the system PCI device identifier - these PCI identifiers are the unique for the network card in the DPDK. | ||
- | |||
- | Transferring the card to DPDK mode (disconnecting from the system network driver) is carried out by the dpdk-devbind.py utility from the DPDK: | ||
- | |||
- | < | ||
- | # Example - devices 41:00.0 and 41:00.1 transfer to the DPDK mode | ||
- | |||
- | >insmod $RTE/ | ||
- | |||
- | # 25G NICs | ||
- | > | ||
- | > | ||
- | </ | ||
- | |||
- | here, igb_uio - is [[https:// | ||
- | <note important> | ||
- | |||
- | To see if the card is properly initialized to work with DPDK, use the command | ||
- | < | ||
- | > $RTE/ | ||
- | </ | ||
- | If the cards are in DPDK mode, you will see them in '' | ||
- | < | ||
- | > $RTE/ | ||
- | |||
- | Network devices using DPDK-compatible driver | ||
- | ============================================ | ||
- | 0000: | ||
- | 0000: | ||
- | .... | ||
- | </ | ||
- | |||
- | Also you have to reserve huge page: | ||
- | < | ||
- | #!/bin/bash | ||
- | |||
- | # Reserve 4 1G-pages - 4 GB in total: | ||
- | HUGEPAGES_NUM=4 | ||
- | HUGEPAGES_PATH=/ | ||
- | sync && echo 3 > / | ||
- | echo $HUGEPAGES_NUM > / | ||
- | HUGEPAGES_AVAIL=$(grep HugePages_Total / | ||
- | if [ $HUGEPAGES_AVAIL -ne $HUGEPAGES_NUM ]; then | ||
- | printf " | ||
- | fi | ||
- | </ | ||
- | Usually 2-4 GB for a huge page is enough for the normal functioning of Stingray SG. If it is not enough, Stingray SG will display a critical error in fastdpi_alert.log and will not start. All the memory necessary for the operation of Stingray SG is allocated when starting from the huge page, so if the SSG has started with the current settings, the system will not need more and more memory from the huge page. In case of startup errors associated with a shortage of huge pages, you need to increase the number of allocated huge pages in the script above and try to run the Stingray SG again. | ||
- | <note important> | ||
- | All these actions - transferring cards into DPDK mode and reserving the huge page - must be performed at OS startup. | ||
- | </ | ||
- | |||
- | ==== Stingray SG Configuration ==== | ||
- | When the system is configured to work with DPDK, you can start configuring the Stingray SG. | ||