ixgbe | Intel 10GbE NIC driver

 by   sivasankariit C Version: Current License: Non-SPDX

kandi X-RAY | ixgbe Summary

kandi X-RAY | ixgbe Summary

ixgbe is a C library. ixgbe has no bugs, it has no vulnerabilities and it has low support. However ixgbe has a Non-SPDX License. You can download it from GitHub.

This repository is based on the Intel 10GbE NIC driver version 3.12.6
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              ixgbe has a low active ecosystem.
              It has 6 star(s) with 3 fork(s). There are 3 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              ixgbe has no issues reported. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of ixgbe is current.

            kandi-Quality Quality

              ixgbe has no bugs reported.

            kandi-Security Security

              ixgbe has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              ixgbe has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              ixgbe releases are not available. You will need to build from source code and install.
              Installation instructions, examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of ixgbe
            Get all kandi verified functions for this library.

            ixgbe Key Features

            No Key Features are available at this moment for ixgbe.

            ixgbe Examples and Code Snippets

            No Code Snippets are available at this moment for ixgbe.

            Community Discussions

            QUESTION

            pktgen cannot find Mellanox port
            Asked 2021-Jan-18 at 14:32
            Setup
            • Pktgen version 21.01.0
            • DPDK version 20.11
            • OS: ubuntu 18.04
            • NIC: Mellanox
            ...

            ANSWER

            Answered 2021-Jan-18 at 14:32

            It is evident the pktgen utility is

            1. either not built with Mellanox PMD mlx5 based on the logs
            2. or pktgen is not passed shared library for initlailizing MLX5 PMD

            Since the DPDK used for building is DPDK version 20.11. The probability of pktgen build with the shared library is high. Passing eal argument as -d librte_net_mlx5.so should resolve the shared library issue.

            Reason for not suggesting static library path is because of the logs of testpmd shows MLX5 is identified while eth0 and eth1 are non-existing interface and skipping PCAP PMD

            Source https://stackoverflow.com/questions/65731779

            QUESTION

            DPDK ixgbe driver not rendering proper link status
            Asked 2020-Oct-23 at 03:10

            I called rte_eth_dev_stop() on my Ethernet Controller 10G X550T card , after this when I make a call to rte_eth_get_link_nowait() on same device , the link read from link register of the device still shows as UP!

            But when I bring the device link down by bringing the other end of the connection physically down, the rte_eth_get_link_nowait() call shows the link as DOWN!

            The server is running on a bare metal architecture. The DPDK PMD is ixgbe. DPDK version 18.05

            why is this so ? any idea?

            ...

            ANSWER

            Answered 2020-Oct-23 at 03:10

            DPDK API rte_eth_dev_set_link_down is responsible for Link state down. While DPDK API rte_eth_dev_stop is responsible for internally stopping rx-tx queues and thereby making rte_eth_rx_burst and rte_eth_tx_burst` as 0 always.

            Hence the expectation rte_eth_dev_stop to bring link state down for X550 is not true with DPDK PMD ixgbe.

            Note:

            1. unlike Linux ifconfig up and ifconfig down, the user space PMD dev_configure, start and stop are different. Please feel free to check the details in code.
            2. with DPDK 20.11 return value is updated from void to int https://doc.dpdk.org/guides/rel_notes/release_20_11.html?highlight=rte_eth_dev_stop
            3. Since link state is governed by HW registers in the ASIC, different PMD may work differently. Hence please check the code for other PMD for more details.

            Source https://stackoverflow.com/questions/64490013

            QUESTION

            DPDK pdump failed to hotplug add device
            Asked 2020-Jul-13 at 04:31

            I'm trying to use dpdk-pdump capture tx packets from NIC under dpdk control.

            Setup
            • DPDK 18.11.4
            • In config/common_base, CONFIG_RTE_LIBRTE_PMD_PCAP=y and CONFIG_RTE_LIBRTE_PDUMP=y are already set
            • After rebuilding, CONFIG_RTE_LIBRTE_PMD_PCAP=y and CONFIG_RTE_LIBRTE_PDUMP=y are also set in x86_64-native-linuxapp-gcc/.config
            • rte_pdump_init(NULL) and rte_pdump_uninit() are called in primary process's init and destroy function
            • DPDK interface
            ...

            ANSWER

            Answered 2020-Jul-13 at 04:31

            I am able to get it working properly without issues. Following is the steps followed

            1. DPDK: download 18.11.4 http://static.dpdk.org/rel/dpdk-18.11.4.tar.gz
            2. built DPDK with PCAP PMD enabled
            3. modify skeleton main: add rte_pdump_init(NULL) right after rte_eal_init
            4. modify skeleton lcore_main: modify RTE_ETH_FOREACH_DEV(port) with for (port = 0; port < 2; port++)
            5. bullt: LD_FLAGS="-lrte_pmd_pcap" make
            6. Run primary
            7. Run pdump secondary (if whitelist is passed in primary pass the same here to)

            Source https://stackoverflow.com/questions/62795017

            QUESTION

            DPDK application test-pipeline fails in app_ports_check_link
            Asked 2020-Jul-02 at 09:20

            Test Setup: Linux-Server-1 Port-A <==> Port 1 DPDK-Server-2 Port 2 <==> Port B Linux-Server-2.

            Steps Followed:

            1. The physical links are connected
            2. Devices bound to DPDK:
            ...

            ANSWER

            Answered 2020-Jul-02 at 09:20

            Explanation:

            1. Running ethtool -while application is down is not a trusted way. Depending upon DPDK version rte_eth_dev_closeorrte_cleanup` would not have put the NIC in the right state.
            2. But while running the application, if DPDK port-1 is coming as down following can be reason

            a. Server-3 port might be auto-negotiating with DPDK port-1 leading to rte_eth_link_get_nowait to report as down. (right API is to invoke rte_eth_link_get). b. The Server-3 port might manually be configured in non-duplex and non 10G mode.

            the right way to debug is to

            • put DPDK port back to the kernel as suggested in comments.
            • cross-check auto-neg and speed.
            • configure on server-1 and server-3 with no auto-neg, 10G, full-duplex
            • bind the server-2 port-0 and port-1 to DPDK.
            • run DPDK test-pipeline if possible with whitelist.
            • run ethtool -t for port-B on server-3 to cross the results too.

            note: this will help you identify if it server-3 ports driver/firmware which acts differently with auto-neg as the ports are sending and receiving packets is successful with example/skeleton with command $RTE_SDK/examples/skeleton/build/basicfwd -l 1

            [EDIT-1] based on the update from the comment it looks like rte_eth_link_get_nowait is the fast approach, the right one is to be used with rte_eth_link_get. Requested for online debug with the author

            [EDIT-2] based on the comment rte_eth_link_get has done the desired job. As I recollect rte_eth_link_get wait for the actual readout from physical device registers, while rte_eth_link_get_nowait is invoked without wait. hence the right values are populated for rte_eth_link_get.

            Source https://stackoverflow.com/questions/62635096

            QUESTION

            How to compile a DPDK application as a library
            Asked 2018-Oct-22 at 12:49

            I have a program using DPDK and I am compiling it using the Makefile provided in the examples.

            If i compile the program as an APP (as describe here), all goes well. However, my code is part of a larger project, for which the use of a separate makefile causes a lot of troubles. So I bundled my code in a library, as described in the same page.

            The program that calls the functions in the library (to initialize the EAL) is getting this error:

            ...

            ANSWER

            Answered 2018-Sep-13 at 08:13

            compile it (with all the needed libraries):

            Source https://stackoverflow.com/questions/52293444

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install ixgbe

            To build a binary RPM* package of this driver, run 'rpmbuild -tb <filename.tar.gz>'. Replace <filename.tar.gz> with the specific filename of the driver.
            Move the base driver tar file to the directory of your choice. For example, use /home/username/ixgbe or /usr/local/src/ixgbe.
            Untar/unzip archive: tar zxf ixgbe-x.x.x.tar.gz
            Change to the driver src directory: cd ixgbe-x.x.x/src/
            Compile the driver module: make install The binary will be installed as: /lib/modules/[KERNEL_VERSION]/kernel/drivers/net/ixgbe/ixgbe.[k]o The install locations listed above are the default locations. They might not be correct for certain Linux distributions.
            Load the module: For kernel 2.6.x, use the modprobe command: modprobe ixgbe <parameter>=<value> Note that for 2.6 kernels the insmod command can be used if the full path to the driver module is specified. For example: insmod /lib/modules/<KERNEL VERSION>/kernel/drivers/net/ixgbe/ixgbe.ko With 2.6 based kernels also make sure that older ixgbe drivers are removed from the kernel, before loading the new module: rmmod ixgbe; modprobe ixgbe
            Assign an IP address to the interface by entering the following, where x is the interface number: ifconfig ethX <IP_address> netmask <netmask>
            Verify that the interface works. Enter the following, where <IP_address> is the IP address for another machine on the same subnet as the interface that is being tested: ping <IP_address>
            If your kernel supports DCA, the driver will build by default with DCA enabled.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/sivasankariit/ixgbe.git

          • CLI

            gh repo clone sivasankariit/ixgbe

          • sshUrl

            git@github.com:sivasankariit/ixgbe.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Consider Popular C Libraries

            linux

            by torvalds

            scrcpy

            by Genymobile

            netdata

            by netdata

            redis

            by redis

            git

            by git

            Try Top Libraries by sivasankariit

            iproute2

            by sivasankariitC

            trafgen

            by sivasankariitC++

            expsift

            by sivasankariitPython

            qfq-rl

            by sivasankariitC

            qfq-rl-eval

            by sivasankariitPython