1. DPDK TM Capabilities

DPDK TM Capabilities

Home Forums FABRIC General Questions and Discussion DPDK TM Capabilities

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #3465
    Ertza
    Participant

      Hi all, when checking for QoS traffic management and traffic shaping capabilities of ConnectX-6 NICs, we can usually run the DPDK’s own testpmd application and get a result of the port’s capabilities usually like:
      testpmd> show port tm cap 0

      and it should return a list of supported capabilities and max values etc., however on my TACC slice when I run this command in VM I get cause unspecified: Function not implemented (error 1).

      Is it because of using a shared NIC? How can I request a dedicated NIC while creating a VM and any idea if that would solve the issue?

      #3466
      Ertza
      Participant

        It seems I would need the SmartNIC tag to provision a VM with SmartNIC for my project. Can you guys kindly help with that? Thank you.

        #3468
        Ilya Baldin
        Participant

          Ertza,
          I know for a fact we have folks using DPDK on the testbed with all three NIC types:

          • All three NIC models are compatible with DPDK in PCI mode (PCI mode is the most efficient one).
          • The default_ubuntu_22 OS image comes with linux-image-virtual kernel package that lacks mlx5_ib kernel module. DPDK cannot initialize the NIC without this kernel model. The solution is installing linux-image-generic kernel package.

          If you want SmartNIC, please have you or one of the project owners fill out a request for permissions to get SmartNICs. This is in the Portal project view.

          • This reply was modified 2 years, 3 months ago by Ilya Baldin.
          #3497
          yoursunny
          Participant

            I know for a fact we have folks using DPDK on the testbed with all three NIC types

            Yeah, that’s me.
            All three NIC types can support most DPDK features, but for NIC_Basic you must use the assigned MAC address and cannot use other MAC addresses.

            You would need linux-image-generic for the kernel module and libibverbs-dev to enable DPDK net_mlx5 driver.
            In FABlib script, you can insert this step, after slice.submit() and before building DPDK:

            execute_threads = {}
            for node in slice.get_nodes():
                execute_threads[node] = node.execute_thread(f'''
                    sudo apt update
                    sudo DEBIAN_FRONTEND=noninteractive apt full-upgrade -y
                    sudo DEBIAN_FRONTEND=noninteractive apt install -y –no-install-recommends libibverbs-dev linux-image-generic jq
                    sudo reboot
                ''')
            for thread in execute_threads.values():
                thread.result()
            slice.wait_ssh(progress=True)
            
            #3512
            Ertza
            Participant

              Hi Ilya, thanks for the reply, my question was not about using/installing DPDK, but rather a specific set of capabilities that come with the DPDK enabled NIC. Turns out that mellanox does not infact implement these capabilities (QoS traffic management and traffic shaping) that I was wondering about and hence I was getting the error. On my local setup I had Intel’s smart NICs which had these capabilities.

              I’ll fill out the request form too if required, thanks for guiding me about that.

              #3513
              Ertza
              Participant

                @Yoursunny thank you, but again running DPDK was never an issue. I was in-fact one of the first persons to run DPDK in Fabric environments and wrote a tutorial on Paul’s request containing instructions and a template Jupyter notebook on setting up and configuring DPDK in Fabric slices for future users.

                The issue was something else and it turned out to be a lack of feature in Mellanox NICs/drivers itself.

                #3967
                Khawar Shehzad
                Participant

                  @Ertza I’m trying to find the jupyter notebook containing the setup and configuring DPDK but I did not see it anywhere. Maybe I’ve overlooked or am looking at the wrong place. Would you mind sharing the link to the notebook here ?

                  Thanks

                Viewing 7 posts - 1 through 7 (of 7 total)
                • You must be logged in to reply to this topic.
                FABRIC invites nominations for four awards recognizing innovative uses of FABRIC resources—Best Published Paper, Best FABRIC Matrix, Best FABRIC Experiment, and Best Classroom Use of FABRIC — submissions due by **Monday, February 24 at 11:59 PM ET**, and winners announced at KNIT10. [>>>Submit Form](https://docs.google.com/forms/d/e/1FAIpQLSeTp3i2iDhB7bHgN8ryMxZci8ya87yjeQd7_JMZImUodNinVA/viewform)

                KNIT10 Call for Demos Now Open! Submit your demo by **February 24**. [>>>Submit Demo](https://docs.google.com/forms/d/e/1FAIpQLScRIWqHliNP3DFWBCnalYN_fBXJXVM0PpP9YWWJdSebC95TvA/viewform)
                FABRIC invites nominations for four awards recognizing innovative uses of FABRIC resources—Best Published Paper, Best FABRIC Matrix, Best FABRIC Experiment, and Best Classroom Use of FABRIC — submissions due by **Monday, February 24 at 11:59 PM ET**, and winners announced at KNIT10. [>>>Submit Form](https://docs.google.com/forms/d/e/1FAIpQLSeTp3i2iDhB7bHgN8ryMxZci8ya87yjeQd7_JMZImUodNinVA/viewform)

                KNIT10 Call for Demos Now Open! Submit your demo by **February 24**. [>>>Submit Demo](https://docs.google.com/forms/d/e/1FAIpQLScRIWqHliNP3DFWBCnalYN_fBXJXVM0PpP9YWWJdSebC95TvA/viewform)