Hi,

We are trying to run a large number of ip in ip(ipv6 over ipv4 or ipv4
ove ipv6) tunnels over intel cards
with the ixgbe driver. This is what lspci is showing about these cards:
04:00.0 Ethernet controller: Intel Corporation 82599EB 10-Gigabit
Network Connection (rev 01)
04:00.1 Ethernet controller: Intel Corporation 82599EB 10-Gigabit
Network Connection (rev 01)

I think that the hardware isn't able to parse the packets after the
first IP header so the only hashing it
uses to distribute packets to receive queues is done based on the
first IP header. Because that header
is the same for all packets, all packets will arrive on the same cpu,
which doesn't scale very well for us.
I've attached what /proc/interrupts is showing, as you can see all
packets arrive on CPU6.

Is there some way we can convince the hardware to distribute these
packets on all cpus? If we could at least
include the second ip header, we would get a much better distribution
because there are many users on these
tunnels. I know we can do this from software on linux, but we are
using linux 2.6.32, which doesn't have this
option and upgrade isn't really an option right now.

We are also using a rather old driver(i think it's a version from
early 2010), have any improvements
been made in newer versions on this issue?

Thanks,
Sorin

Attachment: ixgbe_interrupts
Description: Binary data

------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
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