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, 1 month 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.