Yunsong (Roamer) Lu wrote:
Darren Reed wrote:
On 25/08/09 05:59 PM, Yunsong (Roamer) Lu wrote:
Darren Reed wrote:
I don't think snoop is supposed to do all sanity check for the
driver. Actually it's simple for the snoop users to figure out
such misbehavior without seeing a warning.
If I send a packet using a raw socket, to a network interface, that
looks just like the one that comes from inside the kernel, how is
snoop going to know the difference?
Are you saying to send a LSO packet from raw socket to a interface?
Not quite.
The "warnings" that snoop prints are because sanity checks fail due
to the way the packet in the mblk_t's is put together by the kernel.
It is possible for a user application, using a raw socket, to build a
packet that looks exactly like it and send that.
To snoop, both packets will look the same.
To the driver, one (from the kernel) will have all of the hardware
checksum bits and the other (from the application) will not.
Are you suggesting that snoop should warn for such packets?
No, I'm saying that just because the packet contents (data) look like
they will be the subject of LSO/hardware checksum does not mean that it
will. The flags and other data from the dblk_t are needed.
Darren
_______________________________________________
networking-discuss mailing list
[email protected]