<div dir="ltr">Dear Stephan,<div><br></div><div>Thanks for the quick response. Yes. we realised that the article is more than 5 years old. We thought that this code is part of kernel code. </div><div><br></div><div>Our idea is to use the single NIC port and assign single IP Address like 16.10.56.78. If we access <a href="http://16.10.56.78:9090">16.10.56.78:9090</a>, the traffic should be forwarded to kernel space by the XDP driver and all the other traffic should be sent to the user space (DPDK). I hope XDP driver is able to achieve this functionality. we will verify and update in this thread.</div><div><br></div><div>Thanks,</div><div>Ram</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Nov 1, 2022 at 5:42 AM Stephen Hemminger <<a href="mailto:stephen@networkplumber.org">stephen@networkplumber.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Sat, 29 Oct 2022 02:39:01 +0530<br>
Ramakrishnan G <<a href="mailto:gramakr@gmail.com" target="_blank">gramakr@gmail.com</a>> wrote:<br>
<br>
> From: Ramakrishnan G <<a href="mailto:gramakr@gmail.com" target="_blank">gramakr@gmail.com</a>><br>
> To: <a href="mailto:aaron.f.brown@intel.com" target="_blank">aaron.f.brown@intel.com</a>, <a href="mailto:dev@dpdk.org" target="_blank">dev@dpdk.org</a>, <a href="mailto:saravana3@gmail.com" target="_blank">saravana3@gmail.com</a><br>
> Subject: Flow Bifurcation of splitting the traffic between kernel space and user space (DPDK)<br>
> Date: Sat, 29 Oct 2022 02:39:01 +0530<br>
> <br>
> Dear Aaron and DPDK Dev Team,<br>
> <br>
> Thanks for the Article talks about the Traffic Flow bifurcation<br>
> between kernel space and user space (DPDK) (3. Flow Bifurcation How-to<br>
> Guide — Data Plane Development Kit 16.07.2 documentation (<a href="http://dpdk.org" rel="noreferrer" target="_blank">dpdk.org</a>)<br>
> <<a href="https://doc.dpdk.org/guides-16.07/howto/flow_bifurcation.html" rel="noreferrer" target="_blank">https://doc.dpdk.org/guides-16.07/howto/flow_bifurcation.html</a>>)<br>
<br>
That DPDK release is over 6 years old. That feature is no longer supported on Intel<br>
NIC's. You are better off using AF_XDP. <br>
<br>
> <br>
> We are trying to test this functionality for sending only the SSH (port 22)<br>
> traffic to kernel and all the other traffic to be transferred to the user<br>
> space (DPDK) by assigning same IP for both the virtual interface (one<br>
> virtual interface is owned by the DPDK and another virtual interface is<br>
> owned by the DPDK )<br>
> <br>
> Using the igb driver with max_vfs setting, we were able to create the<br>
> virtual link and map it to user space (DPDK) and another link into kernel<br>
> space. we assigned different IP addresses and we were able to reach from<br>
> other host.<br>
> <br>
> But when we are trying to configure the flow-type for port 22<br>
> <br>
> Ubuntu# ethtool -K eth9 ntuple on<br>
> Ubuntu## ethtool -N eth9 flow-type ip4 dst-port 22 action 0<br>
> rmgr: Cannot insert RX class rule: Invalid argument<br>
> Ubuntu## ethtool -N eth9 flow-type ip4 dst-port 22 action 1<br>
> rmgr: Cannot insert RX class rule: Invalid argument<br>
> Ubuntu## ethtool -N eth9 flow-type ip4 dst-port 22 action 2<br>
> rmgr: Cannot insert RX class rule: Invalid argument<br>
> <br>
> We tried to apply the patch that was given in the following link,<br>
> (<br>
> <a href="https://patchwork.ozlabs.org/project/intel-wired-lan/patch/1451456399-13353-1-git-send-email-gangfeng.huang@ni.com/#1236040" rel="noreferrer" target="_blank">https://patchwork.ozlabs.org/project/intel-wired-lan/patch/1451456399-13353-1-git-send-email-gangfeng.huang@ni.com/#1236040</a><br>
> )<br>
> <br>
> But we couldn't patch any of the latest igb driver and we tried to patch<br>
> with the 2016 igb driver.<br>
> <br>
> please help us in sharing the info where can we apply the patch for igb<br>
> driver in Ubuntu.<br>
<br>
The igb NIC does not have an flow direction.<br>
The bifurcation for Intel NIC is based off of kernel flow director.<br>
</blockquote></div>