[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-users] help -- the http reply is divided into 2 frames.
From: |
Simon Goldschmidt |
Subject: |
Re: [lwip-users] help -- the http reply is divided into 2 frames. |
Date: |
Mon, 25 Aug 2008 16:32:04 +0200 |
To me this seems like you send every single pbuf as one ethernet frame. LwIP
can combine multiple pbufs to one ethernet frame, which is done for many tcp
packets: the first pbuf contains all the headers, the second pbuf contains the
'user data' (in your case the HTML page). Your driver should send pbuf queues
in one frame; the end of a pbuf queue can be determined like shown in
pbuf.c/.h: the last pbuf of a frame has p->len == p->tot_len (NOT p->next ==
NULL, as there can also be multiple frames in a pbuf queue!)
Hope that helps.
Simon.
-------- Original-Nachricht --------
> Datum: Mon, 25 Aug 2008 19:11:16 +0800 (CST)
> Von: yihect <address@hidden>
> An: lwip_users <address@hidden>
> Betreff: [lwip-users] help -- the http reply is divided into 2 frames.
>
>
>
> Hi, all:
> I'm porting lwIP 1.3 on uCOS-II. Now use the httpserver attached in
> contrib dir for testing the port.
>
> Benefitting from Jonathan Larmour's help, now the http request from pc
> are sent in a single ethernet frame. but when using netconn_write() api to
> send http reply head info, the lwIP stack will divide the head info into 2
> frames.
> The first frame seems like a full ether-ip-tcp-http frame, but the second
> one seems only include the head info, no ethernet frame header, no ip
> header, and no tcp header. You can see frame 8 and frame 9 from the following
> file captured from pc side.
>
> There is a checksum error too, I don't know that's why? It's strange to
> see the 6 mysterious bytes at the end of the first frame. I think that's not
> correct. I think the head info should be included in one single frame when
> sending. Is it true? Please tell me if i'm wrong.
>
> Frankly speaking, I'm a fully newbie to the lwIP stack, so, any suggestion
> will be appreciated greatlly.
>
> captured file fragement:
> //////////////////////////////////////////////////////////////////////////
> //frame 8
> No. Time Source Destination Protocol
> Info
> 8 1250.620706 192.168.10.2 192.168.10.123 HTTP
> Continuation or non-HTTP traffic
> Frame 8 (60 bytes on wire, 60 bytes captured)
> Ethernet II, Src: 00:53:45:00:00:00 (00:53:45:00:00:00), Dst:
> RapidCit_06:15:90 (00:e0:16:06:15:90)
> Internet Protocol, Src: 192.168.10.2 (192.168.10.2), Dst: 192.168.10.123
> (192.168.10.123)
> Transmission Control Protocol, Src Port: http (80), Dst Port: danf-ak2
> (1041), Seq: 1, Ack: 471, Len: 6
> Source port: http (80)
> Destination port: danf-ak2 (1041)
> Sequence number: 1 (relative sequence number)
> [Next sequence number: 7 (relative sequence number)]
> Acknowledgement number: 471 (relative ack number)
> Header length: 20 bytes
> Flags: 0x18 (PSH, ACK)
> Window size: 2048
> Checksum: 0xda82 [incorrect, should be 0x4328 (maybe caused by "TCP
> checksum offload"?)]
> Hypertext Transfer Protocol
> Data (6 bytes)
> 0000 00 e0 16 06 15 90 00 53 45 00 00 00 08 00 45 00 .......SE.....E.
> 0010 00 54 00 02 00 00 ff 06 25 d4 c0 a8 0a 02 c0 a8 .T......%.......
> 0020 0a 7b 00 50 04 11 00 00 19 6f f2 1e 1e e0 50 18 .{.P.....o....P.
> 0030 08 00 da 82 00 00 a0 01 00 00 00 00 ............
>
> ///////////////////////////////////////////////////////
> //frame 9
> No. Time Source Destination Protocol
> Info
> 9 1250.620758 2e:31:20:32:30:30 48:54:54:50:2f:31 0x204f
> Ethernet II
> Frame 9 (60 bytes on wire, 60 bytes captured)
> Ethernet II, Src: 2e:31:20:32:30:30 (2e:31:20:32:30:30), Dst:
> 48:54:54:50:2f:31 (48:54:54:50:2f:31)
> Data (46 bytes)
> 0000 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d HTTP/1.1 200 OK.
> 0010 0a 43 6f 6e 74 65 6e 74 2d 74 79 70 65 3a 20 74 .Content-type: t
> 0020 65 78 74 2f 68 74 6d 6c 0d 0a 0d 0a 00 00 00 00 ext/html........
> 0030 3c 68 74 6d 6c 3e 3c 68 65 61 64 3e <html><head>
>
>
>
--
GMX Kostenlose Spiele: Einfach online spielen und Spaß haben mit Pastry Passion!
http://games.entertainment.gmx.net/de/entertainment/games/free/puzzle/6169196