Home › Forums › FABRIC General Questions and Discussion › DPDK TM Capabilities
- This topic has 6 replies, 4 voices, and was last updated 2 years, 7 months ago by Khawar Shehzad. 
- 
		AuthorPosts
- 
		
			
				
November 5, 2022 at 8:29 pm #3465Hi all, when checking for QoS traffic management and traffic shaping capabilities of ConnectX-6 NICs, we can usually run the DPDK’s own testpmdapplication and get a result of the port’s capabilities usually like:
 testpmd> show port tm cap 0and 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 SmartNICfor 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, 11 months 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.
