Get the App
SLTechnology News&Howtos  ›  Network Security  › 

The solution to the problem that DPDK17 or 18 cannot bind a network card on CentOS 6

Shulou Source: shulou.com Published: 2022-06-01 04:47:46 10月05日 Update

Problems: such as the problem; for systems with kernel version less than 2.6.37, kernel modules can be compiled and inserted, but binding to the network card always fails (trace given in message refers to interrupt problem) After looking for some resources and comparing the relevant implementation code of 16, it is found that there is a problem with the flag sent, which can be bound normally after modification and the test is normal, but it must also be inserted into the dca kernel module before it can operate, otherwise it will always be reported to io error. The specific changes are as follows (the code in 17 and 18 moves part of it to a place called igbuio_pci_open, paying attention to the middle part At the beginning of igbuio_pci_open, directly reuturn 0): source file: igb_uio.c function: igbuio_pci_probeerr = sysfs_create_group (& dev- > dev.kobj, & dev_attr_grp); if (err! = 0) goto fail_release_iomem;udev- > mode = RTE_INTR_MODE_NONE;#if LINUX_VERSION_CODE

< KERNEL_VERSION(2, 6, 37) udev->

Info.irq =-2 udev- udev- > info.irq = 0 * register uio driver * / err = uio_register_device (& dev- > dev, & udev- > info)

Tags: Problems kernels code modules parts network cards places logos versions systems resources testing compilation operation solutions Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Huawei NVidia MySQL vpn Docker