lwip-users
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]