I have attempted to program the i350 to generate LLI's on traffic matching on a
specific UDP port. All packets that match the filter arrive on its own
dedicated queue.
However, I am getting packets arriving on that queue from TCP connections even
thought I specifically programmed for UDP-only. I have followed the directions
spelled out in section 7.1.2.5 (2-Tuple Filters) of the datasheet:
TTQF #1 is programmed with:
0xF0001000 (initial value) with 0x10000000 bit cleared (enable protocol
comparison) |
0x11 (UDP IPv4 protocol value) |
0x100 (Queue enable) |
0x10000 (Queue index)
== 0xE0018111
IMIR #1 is programmed with:
0x3412 (port number) |
0x10000 (Immediate Interrupt enable)
== 0x13412
IMIREXT #1 is programmed with:
0x1000 (size check bypass) |
0x80000 (TCP control bits check bypass)
== 0x81000
I tested a large range of udp port numbers, and the filter seems to correctly
match only those matching what I programmed in the IMIR register. However, it
seems like sometimes I get blocks of tcp packets that will "match" as well
(i.e. I'll get a range of 16 consecutive TCP port numbers that match, followed
by a range of 16 that don't).
Are there any known issues with the 2-tuple queue filters and UDP or anything
like this that might sound familiar? I believe I am programming the registers
correctly for what I am trying to do. However, I'd be thrilled if it was
something as simple as misconfiguration...
Thanks in advance for any advice/help!
Gabe
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
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