WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] continued problems with large send offload in windows

To: <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] continued problems with large send offload in windows
From: "James Harper" <james.harper@xxxxxxxxxxxxxxxx>
Date: Tue, 11 Mar 2008 21:13:31 +1100
Delivery-date: Tue, 11 Mar 2008 03:14:00 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AciDYI6FTKNZY+SVTyCggcq+g6NWwA==
Thread-topic: continued problems with large send offload in windows
I'm still trying to figure out what is going wrong with large send
support in windows. I thought I was doing all the right things but
obviously something is going wrong...

Windows sends my driver a packet of length 4434 with an mss of 1460,
comprising of the following sg items (pages):
Page 0 - addr 19efc312, length 54
Page 1 - addr 02776000, length 4096
Page 2 - addr 02777000, length 284

I put this onto the tx ring as follows:
Slot 0 - pfn 19efc, offset 312, length 4434,
NETTXF_extra_info|NETTXF_csum_blank|NETTXF_data_validated|NETTXF_more_da
ta
Slot 1 - extra info - mss = 1460
Slot 2 - pfn 02776000, offset 0, length 4096, NETTXF_more_data
Slot 3 - pfn 02777000, offset 0, length 284

A tcpdump on Dom0 receives this as the following:
(connection setup stuff - MSS = 1460)
Packet 0 - TCP Seq = 1, Length = 24
Packet 1 - TCP Seq = 25, Length = 4380
Packet 2 - TCP Seq = 1485, Length = 2920
Packet 3 - TCP Seq = 2945, Length = 1460

Dom0 meanwhile is sending acks and getting them all wrong... obviously
things have fallen to pieces badly somewhere.

I've had a look at the equivalent Linux code, frontend and back, but I
don't know enough about skb's to tell if there is anything special
happening to packet/page lengths with GSO... maybe I'm supposed to do
something different?

Can anyone offer any suggestions as to where I'm going wrong? Maybe
there is a fundamental difference between how windows formats a packet
for large send offload and how linux formats it?

Thanks

James

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>