Hello,

I have an Intel 82599ES based dual port NIC, and for each of the two
interfaces I use some ntuples rules to make sure that every incoming
packet goes to either queue 0 or 1. I would like to do the following:
packets from queue 0 should be treated normally, but each packet
arriving to queue 1 should immediately be sent out the other interface
(for queue 1 packets, it’s like the computer simply joins the two
cables). The only catch is that I want to minimize the performance hit
on running applications while doing this forwarding at line rate.

This means that I can’t really afford to go all the way through the
Linux stack and the usual tools, as it proves to be a poor solution in
that regard, while also being unable to actually deal with 1500B
packets coming at 10Gbps without losing a significant amount (at least
on my machine) as far as the forwarding part is concerned. I also
can’t use something like netmap, because (to my limited knowledge) it
entails forfeiting various hardware offload features for packets
leaving/going to the host stack.

With all that being said, I was thinking that maybe the best solution
is to attempt an implementation of the aforementioned behaviour at
driver level. My first (and only so far) approach was to intercept
skbs in ixgbe_rx_skb, and then try to send them away with
ixgbe_xmit_frame. The result was that something apparently left the
other interface, but the packet contents didn’t make too much sense.

Before working more on it, and if you allow me, I would like to ask
two (I hope not too broad) questions. First of all, is it actually
possible to achieve this ? Secondly, would it require extensive
additions to the existing code, or I should be fine playing around
with primitives that are already there ?

Thanks for taking time to read this.

Regards,
Alex

------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to