I am using the i40e_4.4.0 driver for XL710 Network Card. Currently, I am trying to loopback the connections.
For this purpose, I had to set the two ports on promiscuous mode. Thus, using my application, I crated custom UDP packets.
For the Rx Queue setting, I have set the flow director as:
ethtool -N ens1f0 flow-type udp4 dst-port 319 action 3 loc
ethtool -N ens1f1 flow-type udp4 dst-port 319 action 3 loc
Essentially, I want all the packets with this dst-port to be forwarded to Queue 3. I can also see the rule has been inserted.
But, as seen in the attached picture, the flow director is not able to match the incoming packet. Thus, it does not forward the incoming packet to my desired queue.
Is this error due to promiscuous mode that I had set on the NIC ports ?
I am not sure what's creating this issue. Also, I have verified that the incoming packet is destined for Port 319.
I will be able to provide other details, if needed !
I would appreciate any help.
Hi Sharon, thank you for your reply.
To confirm your query, I had to check with various available implementations of i40e driver.
The behaviour that I have been expecting from the driver works perfectly fine with the i40e official driver(i40e-2.0.30) but not with the one available in the Linux Kernel Source tree.
Any information on this would be helpful
Thank you for getting back to me.
This is what I did to extract this driver from the Kernel Source tree. (I am using Ubuntu 16.04, Kernel Version 4.4.0)
1. Install the kernel source as
sudo apt-get install linux-source-4.4.0
2. After unzipping the files in /usr/src/linux-src-4.4.0/, I will get my drivers in the following location:
This is the driver I had extracted and I am using right now.
Please let me know, if I can provide more information on this issue.
Thank you for your time.
Intel Corporation wrote:
Just to double check, as mentioned by you the issue only happens with driver comes with Linux-source-4.4.0, but no issue with 2.0.30, can you share what is the reason you need to use the 4.4.0?
sorry for the late reply, and thank you for following back.
I am continuing a research project from a previous colleague. The Intel Driver extracted from the Kernel Source tree seems to be specific to Intel XL710 while the intel i40e_2.0.30 seems to be a generic one for i40e devices.
So, for the time being I am modifying the i40e_2.0.30 driver. I am still not able to figure out the issue with the driver extracted from the Kernel source tree. By any chance, are you able to replicate the issue ?
Please get in touch with Ubuntu support for the driver from Kernel source tree. With regards to driver modification of i40e_2.0.30 driver, you may submit request on https://sourceforge.net/projects/e1000/files/i40e%20stable/.
Hope the above helps.