[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-users] IP is longer than pbuf
From: |
Nico Sachs |
Subject: |
Re: [lwip-users] IP is longer than pbuf |
Date: |
Sat, 21 Jul 2012 13:39:22 +0200 |
Some additional infos:
I setted up the netcon webserver and it works very bad because of this problem.
Here is the wireshark output of the request of index.html. It took 20seconds.
2 11.244653 Apple_d2:82:8e Broadcast ARP
42 Who has 10.10.10.7? Tell 10.10.10.150
3 11.267952 --------------------- Apple_d2:82:8e
ARP 60 10.10.10.7 is at ------------------------
4 11.267978 10.10.10.150 10.10.10.7 TCP
66 50787 > http [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=256
SACK_PERM=1
5 14.244912 10.10.10.150 10.10.10.7 TCP
66 50787 > http [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=256
SACK_PERM=1
6 20.246229 10.10.10.150 10.10.10.7 TCP
62 50787 > http [SYN] Seq=0 Win=8192 Len=0 MSS=1460 SACK_PERM=1
7 20.489824 10.10.10.7 10.10.10.150 TCP
60 http > 50787 [SYN, ACK] Seq=0 Ack=1 Win=4096 Len=0 MSS=1460
8 20.489941 10.10.10.150 10.10.10.7 TCP
54 50787 > http [ACK] Seq=1 Ack=1 Win=64240 Len=0
9 20.490224 10.10.10.150 10.10.10.7 HTTP
382 GET / HTTP/1.1
10 23.486540 10.10.10.150 10.10.10.7 HTTP
382 [TCP Retransmission] GET / HTTP/1.1
11 29.486769 10.10.10.150 10.10.10.7 HTTP
382 [TCP Retransmission] GET / HTTP/1.1
12 29.760339 10.10.10.7 10.10.10.150 TCP
98 [TCP segment of a reassembled PDU]
13 29.871383 10.10.10.7 10.10.10.150 HTTP
217 HTTP/1.1 200 OK (text/html)
14 29.871485 10.10.10.150 10.10.10.7 TCP
54 50787 > http [ACK] Seq=329 Ack=209 Win=64033 Len=0
Additional i have here the debug output:
netif: input length = 60
pbuf_alloc(length=62)
pbuf_alloc: allocated pbuf A264
pbuf_alloc(length=62) == A264
pbuf_header: old A274 new A276 (-2)
pbuf_header: old A276 new A274 (2)
tcpip_thread: PACKET 773C
pbuf_header: old A274 new A276 (-2)
pbnetif: input length = 60
pbuf_alloc(length=62)
pbuf_alloc: allocated pbuf 9224
pbuf_alloc(length=62) == 9224
pbuf_header: old 9234 new 9236 (-2)
pbuf_header: old 9236 new 9234 (2)
uf_header: old A276 new A274 (2)
pbuf_free(A264)
pbuf_free: deallocating A264
tcpip_thread: PACKET 7714
pbuf_header: old 9234 new 9244 (-16)
IP (len 52) is longer than pbuf (len 46), IP packet dropped.
pbuf_free(9224)
pbuf_free: deallocating 9224
netif: input length = 60
pbuf_alloc(length=62)
pbuf_alloc: allocated pbuf 9224
pbuf_alloc(length=62) == 9224
pbuf_header: old 9234 new 9236 (-2)
pbuf_header: old 9236 new 9234 (2)
tcpip_thread: PACKET 7714
pbuf_header: old 9234 new 9244 (-16)
IP (len 52) is longer than pbuf (len 46), IP packet dropped.
pbuf_free(9224)
pbuf_free: deallocating 9224
netif: input length = 66
pbuf_alloc(length=68)
pbuf_alloc: allocated pbuf 9224
pbuf_alloc(length=68) == 9224
pbuf_header: old 9234 new 9236 (-2)
pbuf_header: old 9236 new 9234 (2)
tcpip_thread: PACKET 7714
pbuf_header: old 9234 new 9244 (-16)
ip_input: iphdr->dest 0x70A0A0A netif->ip_addr 0x70A0A0A (0xA0A0A,
0xA0A0A, 0x7000000)
ip_input: packet accepted on interface en
ip_input:
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 48 | (v, hl, tos, len)
+-------------------------------+
| 6100 |010| 0 | (id, flags, offset)
+-------------------------------+
| 128 | 6 | 0xBA43 | (ttl, proto, chksum)
+-------------------------------+
| 10 | 10 | 10 | 150 | (src)
+-------------------------------+
| 10 | 10 | 10 | 7 | (dest)
+-------------------------------+
ip_input: p->len 48 p->tot_len 48
TCP header:
+-------------------------------+
| 50787 | 80 | (src port, dest port)
+-------------------------------+
| 1508425083 | (seq no)
+-------------------------------+
| 0000000000 | (ack no)
+-------------------------------+
| 7 | |000010| 8192 | (hdrlen, flags (SYN
), win)
+-------------------------------+
| 0x5C57 | 0 | (chksum, urgp)
+-------------------------------+
pbuf_header: old 9244 new 9258 (-20)
inet_chksum_pseudo(): checksumming pbuf 9224 (has next 0)
inet_chksum_pseudo(): pbuf chain lwip_chksum()=FFFF
pbuf_header: old 9258 new 9274 (-28)
tcp_input: packed for LISTENing connection.
TCP connection request 50787 -> 80.
tcp_parseopt: MSS
tcp_parseopt: NOP
tcp_parseopt: NOP
tcp_parseopt: other
pbuf_alloc(length=4)
pbuf_alloc(length=4) == 82FC
pbuf_header: old 8344 new 8330 (20)
tcp_enqueue_flags: queueing 8521:8522 (0x12)
tcp_output_segment: 8521:8521
inet_chksum_pseudo(): checksumming pbuf 82FC (has next 0)
inet_chksum_pseudo(): pbuf chain lwip_chksum()=FB9F
pbuf_header: old 8330 new 831C (20)
ip_output_if: en0
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 44 | (v, hl, tos, len)
+-------------------------------+
| 39 |000| 0 | (id, flags, offset)
+-------------------------------+
| 128 | 6 | 0x11F5 | (ttl, proto, chksum)
+-------------------------------+
| 10 | 10 | 10 | 7 | (src)
+-------------------------------+
| 10 | 10 | 10 | 150 | (dest)
+-------------------------------+
netif->output()pbuf_header: old 831C new 830C (16)
pbuf_header: old 830C new 830E (-2)
pbunetif: input length = 66
pbuf_alloc(length=68)
pbuf_alloc: allocated pbuf A264
pbuf_alloc(length=68) == A264
pbuf_header: old A274 new A276 (-2)
pbuf_header: old A276 new A274 (2)
netif: input length = 62
pbuf_alloc(length=64)
pbuf_alloc: allocated pbuf 79C4
pbuf_alloc(length=64) == 79C4
pbuf_header: old 79D4 new 79D6 (-2)
pbuf_header: old 79D6 new 79D4 (2)
f_header: old 830E new 830C (2)
pbuf_free(9224)
pbuf_free: deallocating 9224
tcpip_thread: PACKET 3D3C
pbuf_header: old A274 new A284 (-16)
ip_input: iphdr->dest 0x70A0A0A netif->ip_addr 0x70A0A0A (0xA0A0A,
0xA0A0A, 0x7000000)
ip_input: packet accepted on interface en
ip_input:
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 40 | (v, hl, tos, len)
+-------------------------------+
| 6101 |010| 0 | (id, flags, offset)
+-------------------------------+
| 128 | 6 | 0xBA4A | (ttl, proto, chksum)
+-------------------------------+
| 10 | 10 | 10 | 150 | (src)
+-------------------------------+
| 10 | 10 | 10 | 7 | (dest)
+-------------------------------+
ip_input: p->len 40 p->tot_len 40
TCP header:
+-------------------------------+
| 50787 | 80 | (src port, dest port)
+-------------------------------+
| 1508425084 | (seq no)
+-------------------------------+
| 0000008522 | (ack no)
+-------------------------------+
| 5 | |010000| 64240 | (hdrlen, flags (ACK
), win)
+-------------------------------+
| 0x8CD0 | 0 | (chksum, urgp)
+-------------------------------+
pbuf_header: old A284 new A298 (-20)
inet_chksum_pseudo(): checksumming pbuf A264 (has next 0)
inet_chksum_pseudo(): pbuf chain lwip_chksum()=FFFF
pbuf_header: old A298 new A2AC (-20)
+-+-+-+-+-+-+-+-+-+-+-+-+-+- tcp_input: flags ACK
-+-+-+-+-+-+-+-+-+-+-+-+-+-+
State: SYN_RCVD
TCP connection established 50787 -> 80.
accept_function: newpcb->tate: ESTABLISHED
tcp_receive: ACK for 8522, unacked->seqno 8521:8522
tcp_receive: removing 8521:8522 from pcb->unacked
pbuf_free(82FC)
pbuf_free: deallocating 82FC
tcp_output: nothing to send (0)
State: ESTABLISHED
pbuf_free(A264)
pbuf_free: deallocating A264
tcpip_thread: PACKET 3D14
pbuf_header: old 79D4 new 79E4 (-16)
IP (len 368) is longer than pbuf (len 48), IP packet dropped.
pbuf_free(79C4)
pbuf_free: deallocating 79C4
tcpip_thread: API message 767C
tcp_slowtmr: processing active pcb
tcp_slowtmr: processing active pcb
tcp_slowtmr: processing active pcb
tcp_slowtmr: processing active pcb
tcp_slowtmr: polling application
tcp_output: nothing to send (0)
tcp_slowtmr: processing active pcb
netif: input length = 60
pbuf_alloc(length=62)
pbuf_alloc: allocated pbuf 79C4
pbuf_alloc(length=62) == 79C4
pbuf_header: old 79D4 new 79D6 (-2)
pbuf_header: old 79D6 new 79D4 (2)
tcpip_thread: PACKET 3D3C
pbuf_header: old 79D4 new 79E4 (-16)
IP (len 368) is longer than pbuf (len 46), IP packet dropped.
pbuf_free(79C4)
pbuf_free: deallocating 79C4
tcp_slowtmr: processing active pcb
tcp_slowtmr: processing active pcb
tcp_slowtmr: processing active pcb
tcp_slowtmr: polling application
tcp_output: nothing to send (0)
tcp_slowtmr: processing active pcb
tcp_slowtmr: processing active pcb
tcp_slowtmr: processing active pcb
tcp_slowtmr: processing active pcb
tcp_slowtmr: polling application
tcp_output: nothing to send (0)
tcp_slowtmr: processing active pcb
tcp_slowtmr: processing active pcb
tcp_slowtmr: processing active pcb
tcp_slowtmr: processing active pcb
tcp_slowtmr: polling application
tcp_output: nothing to send (0)
tcp_slowtmr: processing active pcb
netif: input length = 382
pbuf_alloc(length=384)
pbuf_alloc: allocated pbuf 79C4
pbuf_alloc(length=384) == 79C4
pbuf_header: old 79D4 new 79D6 (-2)
pbuf_header: old 79D6 new 79D4 (2)
tcpip_thread: PACKET 3D3C
pbuf_header: old 79D4 new 79E4 (-16)
ip_input: iphdr->dest 0x70A0A0A netif->ip_addr 0x70A0A0A (0xA0A0A,
0xA0A0A, 0x7000000)
ip_input: packet accepted on interface en
ip_input:
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 368 | (v, hl, tos, len)
+-------------------------------+
| 6104 |010| 0 | (id, flags, offset)
+-------------------------------+
| 128 | 6 | 0xB8FF | (ttl, proto, chksum)
+-------------------------------+
| 10 | 10 | 10 | 150 | (src)
+-------------------------------+
| 10 | 10 | 10 | 7 | (dest)
+-------------------------------+
ip_input: p->len 368 p->tot_len 368
TCP header:
+-------------------------------+
| 50787 | 80 | (src port, dest port)
+-------------------------------+
| 1508425084 | (seq no)
+-------------------------------+
| 0000008522 | (ack no)
+-------------------------------+
| 5 | |011000| 64240 | (hdrlen, flags (PSH ACK
), win)
+-------------------------------+
| 0x41B7 | 0 | (chksum, urgp)
+-------------------------------+
pbuf_header: old 79E4 new 79F8 (-20)
inet_chksum_pseudo(): checksumming pbuf 79C4 (has next 0)
inet_chksum_pseudo(): pbuf chain lwip_chksum()=FFFF
pbuf_header: old 79F8 new 7A0C (-20)
+-+-+-+-+-+-+-+-+-+-+-+-+-+- tcp_input: flags PSH ACK
-+-+-+-+-+-+-+-+-+-+-+-+-+-+
State: ESTABLISHED
tcp_output: nothing to send (0)
State: ESTABLISHED
tcpip_thread: API message 7604
tcp_recved: recveived 328 bytes, wnd 4096 (0).
netconn_recv_data: received 79C4, len=328
tcpip_thread: API message 763C
tcp_write(pcb=8244, data=FFFA3A68, len=44, apiflags=0)
pbuf_alloc(length=44)
pbuf_alloc(length=44) == 3D3C
pbuf_alloc(length=0)
pbuf_alloc(length=0) == 3EB4
pbuf_header: old 3EFC new 3EE8 (20)
tcp_write: queueing 8522:8566
tcp_output_segment: 8522:8566
inet_chksum_pseudo(): checksumming pbuf 3EB4 (has next 3D3C)
inet_chksum_pseudo(): checksumming pbuf 3D3C (has next 0)
inet_chksum_pseudo(): pbuf chain lwip_chksum()=F390
pbuf_header: old 3EE8 new 3ED4 (20)
ip_output_if: en0
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 84 | (v, hl, tos, len)
+-------------------------------+
| 40 |000| 0 | (id, flags, offset)
+-------------------------------+
| 128 | 6 | 0x11CC | (ttl, proto, chksum)
+-------------------------------+
| 10 | 10 | 10 | 7 | (src)
+-------------------------------+
| 10 | 10 | 10 | 150 | (dest)
+-------------------------------+
netif->output()pbuf_header: old 3ED4 new 3EC4 (16)
pbuf_header: old 3EC4 new 3EC6 (-2)
pbuf_header: old 3EC6 new 3EC4 (2)
tcpip_thread: API message 763C
tcp_write(pcb=8244, data=FFFA3A95, len=163, apiflags=0)
pbuf_alloc(length=163)
pbuf_alloc(length=163) == 7714
pbuf_alloc(length=0)
pbuf_alloc(length=0) == 838C
pbuf_header: old 83D4 new 83C0 (20)
tcp_write: queueing 8566:8729
tcpip_thread: API message 7638
tcp_close: closing in State: ESTABLISHED
tcp_output_segment: 8566:8729
inet_chksum_pseudo(): checksumming pbuf 838C (has next 7714)
inet_chksum_pseudo(): checksumming pbuf 7714 (has next 0)
inet_chksum_pseudo(): pbuf chain lwip_chksum()=DCF1
pbuf_header: old 83C0 new 83AC (20)
ip_output_if: en0
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 203 | (v, hl, tos, len)
+-------------------------------+
| 41 |000| 0 | (id, flags, offset)
+-------------------------------+
| 128 | 6 | 0x1154 | (ttl, proto, chksum)
+-------------------------------+
| 10 | 10 | 10 | 7 | (src)
+-------------------------------+
| 10 | 10 | 10 | 150 | (dest)
+-------------------------------+
netif->output()pbuf_header: old 83AC new 839C (16)
pbuf_header: old 839C new 839E (-2)
pbunetif: input length = 382
pbuf_alloc(length=384)
pbuf_alloc: allocated pbuf A264
pbuf_alloc(length=384) == A264
pbuf_header: old A274 new A276 (-2)
pbuf_header: old A276 new A274 (2)
f_header: old 839E new 839C (2)
tcpip_thread: PACKET 835C
pbuf_header: old A274 new A284 (-16)
ip_input: iphdr->dest 0x70A0A0A netif->ip_addr 0x70A0A0A (0xA0A0A,
0xA0A0A, 0x7000000)
ip_input: packet accepted on interface en
ip_input:
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 40 | (v, hl, tos, len)
+-------------------------------+
| 6105 |010| 0 | (id, flags, offset)
+-------------------------------+
| 128 | 6 | 0xBA46 | (ttl, proto, chksum)
+-------------------------------+
| 10 | 10 | 10 | 150 | (src)
+-------------------------------+
| 10 | 10 | 10 | 7 | (dest)
+-------------------------------+
ip_input: p->len 40 p->tot_len 40
TCP header:
+-------------------------------+
| 50787 | 80 | (src port, dest port)
+-------------------------------+
| 1508425412 | (seq no)
+-------------------------------+
| 0000008730 | (ack no)
+-------------------------------+
| 5 | |010000| 64033 | (hdrlen, flags (ACK
), win)
+-------------------------------+
| 0x8B87 | 0 | (chksum, urgp)
+-------------------------------+
pbuf_header: old A284 new A298 (-20)
inet_chksum_pseudo(): checksumming pbuf A264 (has next 0)
inet_chksum_pseudo(): pbuf chain lwip_chksum()=FFFF
pbuf_header: old A298 new A2AC (-20)
+-+-+-+-+-+-+-+-+-+-+-+-+-+- tcp_input: flags ACK
-+-+-+-+-+-+-+-+-+-+-+-+-+-+
State: FIN_WAIT_1
tcp_receive: ACK for 8730, unacked->seqno 8522:8566
tcp_receive: removing 8522:8566 from pcb->unacked
pbuf_free(3EB4)
pbuf_free: deallocating 3EB4
pbuf_free: deallocating 3D3C
tcp_receive: removing 8566:8730 from pcb->unacked
pbuf_free(838C)
pbuf_free: deallocating 838C
pbuf_free: deallocating 7714
tcp_output: nothing to send (0)
State: FIN_WAIT_2
pbuf_free(A264)
pbuf_free: deallocating A264
pbuf_free(79C4)
pbuf_free: deallocating 79C4
tcpip_thread: API message 769C
tcp_slowtmr: processing active pcb
tcp_slowtmr: processing active pcb
tcp_slowtmr: processing active pcb
netif: input length = 382
pbuf_alloc(length=384)
pbuf_alloc: allocated pbuf 79C4
pbuf_alloc(length=384) == 79C4
pbuf_header: old 79D4 new 79D6 (-2)
pbuf_header: old 79D6 new 79D4 (2)
tcpip_thread: PACKET 3D14
pbuf_free(79C4)
pbuf_free: deallocating 79C4
tcp_slowtmr: processing active pcb
tcp_slowtmr: polling application
tcp_output: nothing to send (0)
netif: input length = 60
pbuf_alloc(length=62)
pbuf_alloc: allocated pbuf 79C4
pbuf_alloc(length=62) == 79C4
pbuf_header: old 79D4 new 79D6 (-2)
pbuf_header: old 79D6 new 79D4 (2)
tcpip_thread: PACKET 3D14
pbuf_free(79C4)
pbuf_free: deallocating 79C4
tcp_slowtmr: processing active pcb
netif: input length = 60
pbuf_alloc(length=62)
pbuf_alloc: allocated pbuf 79C4
pbuf_alloc(length=62) == 79C4
pbuf_header: old 79D4 new 79D6 (-2)
pbuf_header: old 79D6 new 79D4 (2)
tcpip_thread: PACKET 3D14
pbuf_free(79C4)
pbuf_free: deallocating 79C4
tcp_slowtmr: processing active pcb
tcp_slowtmr: processing active pcb
netif: input length = 60
pbuf_alloc(length=62)
pbuf_alloc: allocated pbuf 79C4
pbuf_alloc(length=62) == 79C4
pbuf_header: old 79D4 new 79D6 (-2)
pbuf_header: old 79D6 new 79D4 (2)
tcpip_thread: PACKET 3D14
pbuf_free(79C4)
pbuf_free: deallocating 79C4
tcp_slowtmr: processing active pcb
tcp_slowtmr: polling application
tcp_output: nothing to send (0)
netif: input length = 60
pbuf_alloc(length=62)
pbuf_alloc: allocated pbuf 79C4
pbuf_alloc(length=62) == 79C4
pbuf_header: old 79D4 new 79D6 (-2)
pbuf_header: old 79D6 new 79D4 (2)
tcpip_thread: PACKET 3D14
pbuf_free(79C4)
pbuf_free: deallocating 79C4
tcp_slowtmr: processing active pcb
tcp_slowtmr: processing active pcb
netif: input length = 60
pbuf_alloc(length=62)
pbuf_alloc: allocated pbuf 79C4
pbuf_alloc(length=62) == 79C4
pbuf_header: old 79D4 new 79D6 (-2)
pbuf_header: old 79D6 new 79D4 (2)
tcpip_thread: PACKET 3D14
pbuf_free(79C4)
pbuf_free: deallocating 79C4
tcp_slowtmr: processing active pcb
tcp_slowtmr: processing active pcb
tcp_slowtmr: polling application
tcp_output: nothing to send (0)
netif: input length = 60
pbuf_alloc(length=62)
pbuf_alloc: allocated pbuf 79C4
pbuf_alloc(length=62) == 79C4
pbuf_header: old 79D4 new 79D6 (-2)
pbuf_header: old 79D6 new 79D4 (2)
tcpip_thread: PACKET 3D14
pbuf_free(79C4)
pbuf_free: deallocating 79C4
tcp_slowtmr: processing active pcb
netif: input length = 60
pbuf_alloc(length=62)
pbuf_alloc: allocated pbuf 79C4
pbuf_alloc(length=62) == 79C4
pbuf_header: old 79D4 new 79D6 (-2)
pbuf_header: old 79D6 new 79D4 (2)
tcpip_thread: PACKET 3D14
pbuf_free(79C4)
pbuf_free: deallocating 79C4
tcp_slowtmr: processing active pcb
tcp_slowtmr: processing active pcb
tcp_slowtmr: processing active pcb
tcp_slowtmr: polling application
tcp_output: nothing to send (0)
netif: input length = 60
pbuf_alloc(length=62)
pbuf_alloc: allocated pbuf 79C4
pbuf_alloc(length=62) == 79C4
pbuf_header: old 79D4 new 79D6 (-2)
pbuf_header: old 79D6 new 79D4 (2)
tcpip_thread: PACKET 3D14
pbuf_free(79C4)
pbuf_free: deallocating 79C4
tcp_slowtmr: processing active pcb
netif: input length = 60
pbuf_alloc(length=62)
pbuf_alloc: allocated pbuf 79C4
pbuf_alloc(length=62) == 79C4
pbuf_header: old 79D4 new 79D6 (-2)
pbuf_header: old 79D6 new 79D4 (2)
tcpip_thread: PACKET 3D14
pbuf_free(79C4)
pbuf_free: deallocating 79C4
tcp_slowtmr: processing active pcb
tcp_slowtmr: processing active pcb
netif: input length = 60
pbuf_alloc(length=62)
pbuf_alloc: allocated pbuf 79C4
pbuf_alloc(length=62) == 79C4
pbuf_header: old 79D4 new 79D6 (-2)
pbuf_header: old 79D6 new 79D4 (2)
tcpip_thread: PACKET 3D14
pbuf_free(79C4)
pbuf_free: deallocating 79C4
tcp_slowtmr: processing active pcb
tcp_slowtmr: polling application
tcp_output: nothing to send (0)
tcp_slowtmr: processing active pcb
tcp_slowtmr: processing active pcb
netif: input length = 60
pbuf_alloc(length=62)
pbuf_alloc: allocated pbuf 79C4
pbuf_alloc(length=62) == 79C4
pbuf_header: old 79D4 new 79D6 (-2)
pbuf_header: old 79D6 new 79D4 (2)
tcpip_thread: PACKET 3D14
pbuf_header: old 79D4 new 79E4 (-16)
ip_input: iphdr->dest 0x70A0A0A netif->ip_addr 0x70A0A0A (0xA0A0A,
0xA0A0A, 0x7000000)
ip_input: packnetif: input length = 60
pbuf_alloc(length=62)
pbuf_alloc: allocated pbuf A264
pbuf_alloc(length=62) == A264
pbuf_header: old A274 new A276 (-2)
pbuf_header: old A276 new A274 (2)
et accepted on interface en
ip_input:
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 40 | (v, hl, tos, len)
+-------------------------------+
| 6106 |010| 0 | (id, flags, offset)
+-------------------------------+
| 128 | 6 | 0xBA45 | (ttl, proto, chksum)
+-------------------------------+
| 10 | 10 | 10 | 150 | (src)
+-------------------------------+
| 10 | 10 | 10 | 7 | (dest)
+-------------------------------+
ip_input: p->len 40 p->tot_len 40
TCP header:
+-------------------------------+
| 50787 | 80 | (src port, dest port)
+-------------------------------+
| 1508425412 | (seq no)
+-------------------------------+
| 0000008730 | (ack no)
+-------------------------------+
| 5 | |010001| 64033 | (hdrlen, flags (FIN ACK
), win)
+-------------------------------+
| 0x8B86 | 0 | (chksum, urgp)
+-------------------------------+
pbuf_header: old 79E4 new 79F8 (-20)
inet_chksum_pseudo(): checksumming pbuf 79C4 (has next 0)
inet_chksum_pseudo(): pbuf chain lwip_chksum()=FFFF
pbuf_header: old 79F8 new 7A0C (-20)
+-+-+-+-+-+-+-+-+-+-+-+-+-+- tcp_input: flags FIN ACK
-+-+-+-+-+-+-+-+-+-+-+-+-+-+
State: FIN_WAIT_2
tcp_receive: received FIN.
TCP connection closed: FIN_WAIT_2 50787 -> 80.
tcp_pcb_purge
pbuf_alloc(length=20)
pbuf_alloc(length=20) == 838C
tcp_output: sending ACK for 1508425413
inet_chksum_pseudo(): checksumming pbuf 838C (has next 0)
inet_chksum_pseudo(): pbuf chain lwip_chksum()=E89
pbuf_header: old 83C0 new 83AC (20)
ip_output_if: en0
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 40 | (v, hl, tos, len)
+-------------------------------+
| 42 |000| 0 | (id, flags, offset)
+-------------------------------+
| 128 | 6 | 0x11F6 | (ttl, proto, chksum)
+-------------------------------+
| 10 | 10 | 10 | 7 | (src)
+-------------------------------+
| 10 | 10 | 10 | 150 | (dest)
+-------------------------------+
netif->output()pbuf_header: old 83AC new 839C (16)
pbuf_header: old 839C new 839E (-2)
pbuf_header: old 839E new 839C (2)
pbuf_free(838C)
pbuf_free: deallocating 838C
State: TIME_WAIT
pbuf_free(79C4)
pbuf_free: deallocating 79C4
tcpip_thread: PACKET 7714
pbuf_free(A264)
pbuf_free: deallocating A264
tcp_slowtmr: no active pcbs
netif: input length = 60
pbuf_alloc(length=62)
pbuf_alloc: allocated pbuf A264
pbuf_alloc(length=62) == A264
pbuf_header: old A274 new A276 (-2)
pbuf_header: old A276 new A274 (2)
tcpip_thread: PACKET 773C
pbuf_free(A264)
pbuf_free: deallocating A264
netif: input length = 60
pbuf_alloc(length=62)
pbuf_alloc: allocated pbuf A264
pbuf_alloc(length=62) == A264
pbuf_header: old A274 new A276 (-2)
pbuf_header: old A276 new A274 (2)
tcpip_thread: PACKET 773C
pbuf_free(A264)
pbuf_free: deallocating A264