Home › Forums › FABRIC General Questions and Discussion › DPDK TM Capabilities
- This topic has 6 replies, 4 voices, and was last updated 1 year, 8 months ago by Khawar Shehzad.
-
AuthorPosts
-
November 5, 2022 at 8:29 pm #3465
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?
November 5, 2022 at 8:35 pm #3466It 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.November 6, 2022 at 2:51 pm #3468Ertza,
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 ago by Ilya Baldin.
November 10, 2022 at 12:26 pm #3497I 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, afterslice.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)
November 15, 2022 at 4:04 am #3512Hi 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.
November 15, 2022 at 4:12 am #3513@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.
March 15, 2023 at 11:03 am #3967@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
-
AuthorPosts
- You must be logged in to reply to this topic.