iam developing driver for ksz8851snli using lwip stack + ksz8851(spi to etehrnet and vice versa)
arp protocol is working fine
when i received an icmp reply ping id is matching but ping sequence is not matching what might be the solution for this
Hi @sandeep_c ,
You can try to print lwip debug message, such as ARP information and IP information. The information print switch are in opt.h.
Regards,
Jing
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
ksz8851_reg_clrbits= RX step21:end RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
step22-23
ksz8851snl_low_level_inputksz8851snl_low_level_input: DMA buffer 0x20008BCC received, size=110 [tail=1 head=0]
ksz8851snl_rx_populate_queuepbuf_alloc(length=1516)
pbuf_alloc(length=1516) == 200091B8
ksz8851snl_rx_populate_queue: new pbuf allocated with size 1516: 0x200091B8 [pos=1]
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 cd 0 0 80 11 6f c c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 7d bb 66 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 43 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64
IAM PRINTING IN ethernet_input FUN
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 cd 0 0 80 11 6f c c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 7d bb 66 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 43 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64 ethernet_input: dest:ff:ff:ff:ff:ff:ff, src:fc:3f:db:fb:58:8b, type:800
ETHTYPE_IP
pbuf_remove_header: old 20008BCC new 20008BDA (14)
pass to IP layer ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
45 0 0 60 48 cd 0 0 80 11 6f c c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 7d bb 66 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 43 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64 1
2
3
test-4
test-5
ip_input: iphdr->dest 0xff00a8c0 netif->ip_addr 0x6600a8c0 (0xa8c0, 0xa8c0, 0xff000000)
ip4_input: packet accepted on interface en
test-6
test-7
test-8
test-9
/* send to upper layers */
ip4_input:
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 96 | (v, hl, tos, len)
+-------------------------------+
| 18637 |000| 0 | (id, flags, offset)
+-------------------------------+
| 128 | 17 | 0x6f0c | (ttl, proto, chksum)
+-------------------------------+
| 192 | 168 | 0 | 100 | (src)
+-------------------------------+
| 192 | 168 | 0 | 255 | (dest)
+-------------------------------+
ip4_input: p->len 96 p->tot_len 96
test-10
raw_input
IAM PRINTING RECIEVED PAYLOAD in raw_input fun
45 0 0 60 48 cd 0 0 80 11 6f c c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 7d bb 66 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 43 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64
1
count= 2 drop the packet
3
pbuf_remove_header: old 20008BDA new 20008BEE (20)
test-11
udp_input: received datagram of length 76
UDP header:
+-------------------------------+
| 137 | 137 | (src port, dest port)
+-------------------------------+
| 76 | 0xc77d | (len, chksum)
+-------------------------------+
udp (
192.168.0.255
, 137) <-- (
192.168.0.100
, 137)
pbuf_free(20008BBC)
pbuf_free: deallocating 20008BBC
sct calling h=dhcp_fine_tmr t=439 arg=3002139C
tcpip: dhcp_fine_tmr()
sys_timeout: 20006684 abs_time=10834 handler=dhcp_fine_tmr arg=3002139C
sct calling h=ip_reass_tmr t=441 arg=30021378
tcpip: ip_reass_tmr()
sys_timeout: 200066C0 abs_time=11345 handler=ip_reass_tmr arg=30021378
sct calling h=etharp_tmr t=438 arg=30021384
tcpip: etharp_tmr()
etharp_timer
sys_timeout: 200066AC abs_time=11360 handler=etharp_tmr arg=30021384
sct calling h=acd_tmr t=409 arg=300213A8
tcpip: acd_tmr()
sys_timeout: 20006670 abs_time=10917 handler=acd_tmr arg=300213A8
sct calling h=ping_timeout t=322 arg=20005A88
ping: send
192.168.0.100
pbuf_alloc(length=40)
pbuf_alloc(length=40) == 200002C4
IAM PREPARING ping_prepare_echo static seq num=6 lwip_htons(++ping_seq_num) =1536
IAM PREPARING ping_prepare_echo static seq num=6 lwip_htons(++ping_seq_num) =1536
IAM PREPARING ping_prepare_echo static seq num=6 lwip_htons(++ping_seq_num) =1536
IAM PREPARING ping_prepare_echo static seq num=6 lwip_htons(++ping_seq_num) =1536
IAM PREPARING ping_prepare_echo static seq num=6 lwip_htons(++ping_seq_num) =1536raw_sendto
netif_is_up=1netif_is_link_up=1,ip4_addr_isany_val
FORWADING IP PACKETS for IP ADDRESS--> IP4ROUTE
ip4 route FOUND TO SEND
FINDING raw_sendto_if_src
pbuf_add_header: old 200002F8 new 200002E4 (20)
pbuf_remove_header: old 200002E4 new 200002F8 (20)
pbuf_add_header: old 200002F8 new 200002E4 (20)
ip4_output_if: en0
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 60 | (v, hl, tos, len)
+-------------------------------+
| 5 |000| 0 | (id, flags, offset)
+-------------------------------+
| 255 | 1 | 0x39a1 | (ttl, proto, chksum)
+-------------------------------+
| 192 | 168 | 0 | 102 | (src)
+-------------------------------+
| 192 | 168 | 0 | 100 | (dest)
+-------------------------------+
ip4_output_if: call netif->output()
pbuf_add_header: old 200002E4 new 200002D6 (14)
ethernet_output: sending packet 200002C4
SENDING PACKET TO THE KSZ8851SNLI FILE
SENDING PACKET TO THE KSZ8851SNLI FILE
SENDING PACKET TO THE KSZ8851SNLI FILE
fc 3f db fb 58 8b 2 12 13 10 15 11 8 0 45 0 0 3c 0 5 0 0 ff 1 39 a1 c0 a8 0 66 c0 a8 0 64 8 0 57 49 af af 0 6 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
ksz8851snl_low_level_output
RECIEVED PACKET FROM ethernet_output FILE address=200002C4
fc 3f db fb 58 8b 2 12 13 10 15 11 8 0 45 0 0 3c 0 5 0 0 ff 1 39 a1 c0 a8 0 66 c0 a8 0 64 8 0 57 49 af af 0 6 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f ksz8851snl_low_level_output: out of free descriptor! [tail=1 head=1]
ksz8851snl_low_level_output: out of free descriptor! [tail=1 head=1]
pbuf_free(200002C4)
pbuf_free: deallocating 200002C4
sys_timeout: 2000665C abs_time=12026 handler=ping_timeout arg=20005A88
IAM IN WHILE LOOP
ethernetif_input
ksz8851snl_update
IAM HANDLING RX
IAM HANDLING RX
IAM HANDLING RX
ksz8851_reg_read RX step6: get RX packet status
ksz8851_reg_read RX step7:read frame lengthksz8851snl_update: RX start packet receive len=116 [tail=0 head=0]
ksz8851_reg_clrbits=RX step9:reset RX frame pointer.
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
ksz8851_reg_setbits RX step10: start RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
Remove CRC and update pbuf length
step11-17: start FIFO read operation
IAM PRINTING FIRST 125 BYTES of RX BUFFER
0 0 0 0 0 c8 81 74 0 2b 2 ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 ce 0 0 80 11 6f b c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c 4d 86 bb 67 29 10 0 1 0 0 0 0 0 1 20 46 48 45 50 46 43 45 4c 45 48 46 43 45 50 46 46 46 41 43 41 43 41 43 41 43 41 43 41 43 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 c0 0 c0 a8 0 64 e9 78 1b b1
BUFFFER ARRAY =112
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 ce 0 0 80 11 6f b c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c 4d 86 bb 67 29 10 0 1 0 0 0 0 0 1 20 46 48 45 50 46 43 45 4c 45 48 46 43 45 50 46 46 46 41 43 41 43 41 43 41 43 41 43 41 43 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 c0 0 c0 a8 0 64 i= 121
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
ksz8851_reg_clrbits= RX step21:end RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
step22-23
ksz8851snl_low_level_inputksz8851snl_low_level_input: DMA buffer 0x200097C4 received, size=110 [tail=0 head=1]
ksz8851snl_rx_populate_queuepbuf_alloc(length=1516)
pbuf_alloc(length=1516) == 20008BBC
ksz8851snl_rx_populate_queue: new pbuf allocated with size 1516: 0x20008BBC [pos=0]
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 ce 0 0 80 11 6f b c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c 4d 86 bb 67 29 10 0 1 0 0 0 0 0 1 20 46 48 45 50 46 43 45 4c 45 48 46 43 45 50 46 46 46 41 43 41 43 41 43 41 43 41 43 41 43 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 c0 0 c0 a8 0 64
IAM PRINTING IN ethernet_input FUN
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 ce 0 0 80 11 6f b c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c 4d 86 bb 67 29 10 0 1 0 0 0 0 0 1 20 46 48 45 50 46 43 45 4c 45 48 46 43 45 50 46 46 46 41 43 41 43 41 43 41 43 41 43 41 43 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 c0 0 c0 a8 0 64 ethernet_input: dest:ff:ff:ff:ff:ff:ff, src:fc:3f:db:fb:58:8b, type:800
ETHTYPE_IP
pbuf_remove_header: old 200097C4 new 200097D2 (14)
pass to IP layer ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
45 0 0 60 48 ce 0 0 80 11 6f b c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c 4d 86 bb 67 29 10 0 1 0 0 0 0 0 1 20 46 48 45 50 46 43 45 4c 45 48 46 43 45 50 46 46 46 41 43 41 43 41 43 41 43 41 43 41 43 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 c0 0 c0 a8 0 64 1
2
3
test-4
test-5
ip_input: iphdr->dest 0xff00a8c0 netif->ip_addr 0x6600a8c0 (0xa8c0, 0xa8c0, 0xff000000)
ip4_input: packet accepted on interface en
test-6
test-7
test-8
test-9
/* send to upper layers */
ip4_input:
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 96 | (v, hl, tos, len)
+-------------------------------+
| 18638 |000| 0 | (id, flags, offset)
+-------------------------------+
| 128 | 17 | 0x6f0b | (ttl, proto, chksum)
+-------------------------------+
| 192 | 168 | 0 | 100 | (src)
+-------------------------------+
| 192 | 168 | 0 | 255 | (dest)
+-------------------------------+
ip4_input: p->len 96 p->tot_len 96
test-10
raw_input
IAM PRINTING RECIEVED PAYLOAD in raw_input fun
45 0 0 60 48 ce 0 0 80 11 6f b c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c 4d 86 bb 67 29 10 0 1 0 0 0 0 0 1 20 46 48 45 50 46 43 45 4c 45 48 46 43 45 50 46 46 46 41 43 41 43 41 43 41 43 41 43 41 43 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 c0 0 c0 a8 0 64
1
count= 3 drop the packet
3
pbuf_remove_header: old 200097D2 new 200097E6 (20)
test-11
udp_input: received datagram of length 76
UDP header:
+-------------------------------+
| 137 | 137 | (src port, dest port)
+-------------------------------+
| 76 | 0x4d86 | (len, chksum)
+-------------------------------+
udp (
192.168.0.255
, 137) <-- (
192.168.0.100
, 137)
pbuf_free(200097B4)
pbuf_free: deallocating 200097B4
sct calling h=dhcp_fine_tmr t=662 arg=3002139C
tcpip: dhcp_fine_tmr()
sys_timeout: 20006684 abs_time=12002 handler=dhcp_fine_tmr arg=3002139C
sct calling h=acd_tmr t=592 arg=300213A8
tcpip: acd_tmr()
sys_timeout: 20006670 abs_time=11614 handler=acd_tmr arg=300213A8
sct calling h=ip_reass_tmr t=175 arg=30021378
tcpip: ip_reass_tmr()
sys_timeout: 200066C0 abs_time=12345 handler=ip_reass_tmr arg=30021378
sct calling h=etharp_tmr t=173 arg=30021384
tcpip: etharp_tmr()
etharp_timer
sys_timeout: 200066AC abs_time=12360 handler=etharp_tmr arg=30021384
IAM IN WHILE LOOP
ethernetif_input
ksz8851snl_update
IAM HANDLING RX
IAM HANDLING RX
IAM HANDLING RX
ksz8851_reg_read RX step6: get RX packet status
ksz8851_reg_read RX step7:read frame lengthksz8851snl_update: RX start packet receive len=66 [tail=1 head=1]
ksz8851_reg_clrbits=RX step9:reset RX frame pointer.
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
ksz8851_reg_setbits RX step10: start RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
Remove CRC and update pbuf length
step11-17: start FIFO read operation
IAM PRINTING FIRST 77 BYTES of RX BUFFER
0 0 0 0 0 c8 81 42 0 e9 78 ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 3a dd 25 79 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 c8 76 fd 9 c8
BUFFFER ARRAY =62
ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 3a dd 25 79 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 i= 71
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
ksz8851_reg_clrbits= RX step21:end RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
step22-23
ksz8851snl_low_level_inputksz8851snl_low_level_input: DMA buffer 0x200091C8 received, size=60 [tail=1 head=0]
ksz8851snl_rx_populate_queuepbuf_alloc(length=1516)
pbuf_alloc(length=1516) == 200097B4
ksz8851snl_rx_populate_queue: new pbuf allocated with size 1516: 0x200097B4 [pos=1]
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 3a dd 25 79 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IAM PRINTING IN ethernet_input FUN
ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 3a dd 25 79 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ethernet_input: dest:ff:ff:ff:ff:ff:ff, src:fc:3f:db:fb:58:8b, type:806
ETHTYPE_ARP
pbuf_remove_header: old 200091C8 new 200091D6 (14)
/* pass p to ARP module etharp_input */
acd_arp_reply()
etharp_update_arp_entry: 192.168.0.100 - fc:3f:db:fb:58:8b
etharp_find_entry: found matching entry 0
etharp_update_arp_entry: updating stable entry 0
ARP_REQUEST
etharp_input: incoming ARP request
etharp_input: ARP request was not for us.
pbuf_free(200091B8)
pbuf_free: deallocating 200091B8
sct calling h=acd_tmr t=196 arg=300213A8
tcpip: acd_tmr()
sys_timeout: 20006670 abs_time=11916 handler=acd_tmr arg=300213A8
IAM IN WHILE LOOP
ethernetif_input
ksz8851snl_update
IAM HANDLING RX
IAM HANDLING RX
IAM HANDLING RX
ksz8851_reg_read RX step6: get RX packet status
ksz8851_reg_read RX step7:read frame lengthksz8851snl_update: RX start packet receive len=66 [tail=0 head=0]
ksz8851_reg_clrbits=RX step9:reset RX frame pointer.
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
ksz8851_reg_setbits RX step10: start RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
Remove CRC and update pbuf length
step11-17: start FIFO read operation
IAM PRINTING FIRST 77 BYTES of RX BUFFER
0 0 0 0 0 c8 81 42 0 5c 76 ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 c0 a8 0 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 33 4d eb a 33 4d
BUFFFER ARRAY =62
ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 c0 a8 0 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 i= 71
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
ksz8851_reg_clrbits= RX step21:end RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
step22-23
ksz8851_reg_write RX step24: enable INT_RX flag if transfer complete
INTERRUPT OCCURED ENTER KEY
INTERRUPT OCCURED ENTER KEY
INTERRUPT OCCURED ENTER KEY
ksz8851snl_low_level_inputksz8851snl_low_level_input: DMA buffer 0x20008BCC received, size=60 [tail=0 head=1]
ksz8851snl_rx_populate_queuepbuf_alloc(length=1516)
pbuf_alloc(length=1516) == 200091B8
ksz8851snl_rx_populate_queue: new pbuf allocated with size 1516: 0x200091B8 [pos=0]
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 c0 a8 0 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IAM PRINTING IN ethernet_input FUN
ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 c0 a8 0 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ethernet_input: dest:ff:ff:ff:ff:ff:ff, src:fc:3f:db:fb:58:8b, type:806
ETHTYPE_ARP
pbuf_remove_header: old 20008BCC new 20008BDA (14)
/* pass p to ARP module etharp_input */
acd_arp_reply()
etharp_update_arp_entry: 192.168.0.100 - fc:3f:db:fb:58:8b
etharp_find_entry: found matching entry 0
etharp_update_arp_entry: updating stable entry 0
ARP_REQUEST
etharp_input: incoming ARP request
/* send ARP response */
pbuf_alloc(length=28)
pbuf_alloc(length=28) == 200002C4
etharp_raw: sending raw ARP packet.
pbuf_add_header: old 200002E4 new 200002D6 (14)
ethernet_output: sending packet 200002C4
SENDING PACKET TO THE KSZ8851SNLI FILE
SENDING PACKET TO THE KSZ8851SNLI FILE
SENDING PACKET TO THE KSZ8851SNLI FILE
fc 3f db fb 58 8b 2 12 13 10 15 11 8 6 0 1 8 0 6 4 0 2 2 12 13 10 15 11 c0 a8 0 66 fc 3f db fb 58 8b c0 a8 0 64
ksz8851snl_low_level_output
RECIEVED PACKET FROM ethernet_output FILE address=200002C4
fc 3f db fb 58 8b 2 12 13 10 15 11 8 6 0 1 8 0 6 4 0 2 2 12 13 10 15 11 c0 a8 0 66 fc 3f db fb 58 8b c0 a8 0 64 ksz8851snl_low_level_output: out of free descriptor! [tail=1 head=1]
ksz8851snl_low_level_output: out of free descriptor! [tail=1 head=1]
IAM FREEING THE ARP QUERY ADDRESS=200002C4
IAM FREEING THE ARP QUERY ADDRESS=200002C4
IAM FREEING THE ARP QUERY ADDRESS=200002C4pbuf_free(200002C4)
pbuf_free: deallocating 200002C4
pbuf_free(20008BBC)
pbuf_free: deallocating 20008BBC
sct calling h=acd_tmr t=273 arg=300213A8
tcpip: acd_tmr()
sys_timeout: 20006670 abs_time=12294 handler=acd_tmr arg=300213A8
sct calling h=dhcp_fine_tmr t=198 arg=3002139C
tcpip: dhcp_fine_tmr()
sys_timeout: 20006684 abs_time=12502 handler=dhcp_fine_tmr arg=3002139C
sct calling h=ping_timeout t=187 arg=20005A88
ping: send
192.168.0.100
pbuf_alloc(length=40)
pbuf_alloc(length=40) == 200002C4
IAM PREPARING ping_prepare_echo static seq num=7 lwip_htons(++ping_seq_num) =1792
IAM PREPARING ping_prepare_echo static seq num=7 lwip_htons(++ping_seq_num) =1792
IAM PREPARING ping_prepare_echo static seq num=7 lwip_htons(++ping_seq_num) =1792
IAM PREPARING ping_prepare_echo static seq num=7 lwip_htons(++ping_seq_num) =1792
IAM PREPARING ping_prepare_echo static seq num=7 lwip_htons(++ping_seq_num) =1792raw_sendto
netif_is_up=1netif_is_link_up=1,ip4_addr_isany_val
FORWADING IP PACKETS for IP ADDRESS--> IP4ROUTE
ip4 route FOUND TO SEND
FINDING raw_sendto_if_src
pbuf_add_header: old 200002F8 new 200002E4 (20)
pbuf_remove_header: old 200002E4 new 200002F8 (20)
pbuf_add_header: old 200002F8 new 200002E4 (20)
ip4_output_if: en0
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 60 | (v, hl, tos, len)
+-------------------------------+
| 6 |000| 0 | (id, flags, offset)
+-------------------------------+
| 255 | 1 | 0x39a0 | (ttl, proto, chksum)
+-------------------------------+
| 192 | 168 | 0 | 102 | (src)
+-------------------------------+
| 192 | 168 | 0 | 100 | (dest)
+-------------------------------+
ip4_output_if: call netif->output()
pbuf_add_header: old 200002E4 new 200002D6 (14)
ethernet_output: sending packet 200002C4
SENDING PACKET TO THE KSZ8851SNLI FILE
SENDING PACKET TO THE KSZ8851SNLI FILE
SENDING PACKET TO THE KSZ8851SNLI FILE
fc 3f db fb 58 8b 2 12 13 10 15 11 8 0 45 0 0 3c 0 6 0 0 ff 1 39 a0 c0 a8 0 66 c0 a8 0 64 8 0 57 48 af af 0 7 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
ksz8851snl_low_level_output
RECIEVED PACKET FROM ethernet_output FILE address=200002C4
fc 3f db fb 58 8b 2 12 13 10 15 11 8 0 45 0 0 3c 0 6 0 0 ff 1 39 a0 c0 a8 0 66 c0 a8 0 64 8 0 57 48 af af 0 7 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f ksz8851snl_low_level_output: out of free descriptor! [tail=1 head=1]
ksz8851snl_low_level_output: out of free descriptor! [tail=1 head=1]
pbuf_free(200002C4)
pbuf_free: deallocating 200002C4
sys_timeout: 2000665C abs_time=13416 handler=ping_timeout arg=20005A88
IAM IN WHILE LOOP
ethernetif_input
ksz8851snl_update
IAM HANDLING TX
ksz8851_reg_read TX step1: check if TXQ memory size is available for transmit
ksz8851_reg_write TX step2: disable all interruptsksz8851snl_update: TX start packet transmit len=74 [tail=1 head=1]
ksz8851snl_update: TX start packet transmit len=74 [tail=1 head=1]
ksz8851_reg_setbits TX step3:enable TXQ write access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
ksz8851_fifo_write_begin =TX step4-8 perform FIFO write operation PING PING
fifowrite total legth=74
FIFO WRITE Q ADDRESS == 2000021C
ksz8851_fifo_write= writing the tx buffer till q == NULL received length 74
ksz8851_fifo_write= writing the tx buffer till q == NULL received length 74
ksz8851_fifo_write= writing the tx buffer till q == NULL received length 74
ksz8851_fifo_write= writing the tx buffer till q == NULL received length 74
ksz8851_fifo_write= writing the tx buffer till q == NULL received length 74
fc 3f db fb 58 8b 2 12 13 10 15 11 8 0 45 0 0 3c 0 2 0 0 ff 1 39 a4 c0 a8 0 66 c0 a8 0 64 8 0 57 4c af af 0 3 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
c0 fc 3f db fb 58 8b 2 12 13 10 15 11 8 0 45 0 0 3c 0 2 0 0 ff 1 39 a4 c0 a8 0 66 c0 a8 0 64 8 0 57 4c af af 0 3 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
ksz8851_fifo_write_end=TX step9-10: pad with dummy data to keep dword alignment
ksz8851_fifo_write_end padding=2
ksz8851_reg_clrbits= TX step12 disable TXQ write access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
ksz8851_reg_setbits step12.1: enqueue frame in TXQ
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
ksz8851_reg_write RX step13: enable INT_RX flag
INTERRUPT OCCURED ENTER KEY
INTERRUPT OCCURED ENTER KEY
INTERRUPT OCCURED ENTER KEYpbuf_free(2000021C)
pbuf_free: deallocating 2000021C
Buffer sent, free the corresponding buffer and mark descriptor as owned by software
ksz8851snl_low_level_input
RECIEVED PBUF IS NULL NULLL NULLsct calling h=acd_tmr t=377 arg=300213A8
tcpip: acd_tmr()
sys_timeout: 20006670 abs_time=12776 handler=acd_tmr arg=300213A8
sct calling h=ip_reass_tmr t=337 arg=30021378
tcpip: ip_reass_tmr()
sys_timeout: 200066C0 abs_time=13345 handler=ip_reass_tmr arg=30021378
sct calling h=etharp_tmr t=335 arg=30021384
tcpip: etharp_tmr()
etharp_timer
sys_timeout: 200066AC abs_time=13360 handler=etharp_tmr arg=30021384
sct calling h=dhcp_fine_tmr t=206 arg=3002139C
tcpip: dhcp_fine_tmr()
sys_timeout: 20006684 abs_time=13002 handler=dhcp_fine_tmr arg=3002139C
IAM IN WHILE LOOP
ethernetif_input
ksz8851snl_update
IAM HANDLING TX
ksz8851_reg_read TX step1: check if TXQ memory size is available for transmit
ksz8851_reg_write TX step2: disable all interruptsksz8851snl_update: TX start packet transmit len=42 [tail=0 head=1]
ksz8851snl_update: TX start packet transmit len=42 [tail=0 head=1]
ksz8851_reg_setbits TX step3:enable TXQ write access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
ksz8851_fifo_write_begin =TX step4-8 perform FIFO write operation PING PING
fifowrite total legth=42
FIFO WRITE Q ADDRESS == 20000280
ksz8851_fifo_write= writing the tx buffer till q == NULL received length 42
ksz8851_fifo_write= writing the tx buffer till q == NULL received length 42
ksz8851_fifo_write= writing the tx buffer till q == NULL received length 42
ksz8851_fifo_write= writing the tx buffer till q == NULL received length 42
ksz8851_fifo_write= writing the tx buffer till q == NULL received length 42
fc 3f db fb 58 8b 2 12 13 10 15 11 8 6 0 1 8 0 6 4 0 2 2 12 13 10 15 11 c0 a8 0 66 fc 3f db fb 58 8b c0 a8 0 64
c0 fc 3f db fb 58 8b 2 12 13 10 15 11 8 6 0 1 8 0 6 4 0 2 2 12 13 10 15 11 c0 a8 0 66 fc 3f db fb 58 8b c0 a8 0 64
ksz8851_fifo_write_end=TX step9-10: pad with dummy data to keep dword alignment
ksz8851_fifo_write_end padding=2
ksz8851_reg_clrbits= TX step12 disable TXQ write access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
ksz8851_reg_setbits step12.1: enqueue frame in TXQ
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
ksz8851_reg_write RX step13: enable INT_RX flag
INTERRUPT OCCURED ENTER KEY
INTERRUPT OCCURED ENTER KEY
INTERRUPT OCCURED ENTER KEYpbuf_free(20000280)
pbuf_free: deallocating 20000280
Buffer sent, free the corresponding buffer and mark descriptor as owned by software
ksz8851snl_low_level_input
RECIEVED PBUF IS NULL NULLL NULLsct calling h=acd_tmr t=179 arg=300213A8
tcpip: acd_tmr()
sys_timeout: 20006670 abs_time=13060 handler=acd_tmr arg=300213A8
IAM IN WHILE LOOP
ethernetif_input
ksz8851snl_update
IAM HANDLING RX
IAM HANDLING RX
IAM HANDLING RX
ksz8851_reg_read RX step1: read interrupt status for INT_RX flag
ksz8851_reg_write RX step2:disable all interrupts
ksz8851_reg_setbits RX step3:clear INT_RX flag
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
ksz8851_reg_read RX step4-5:check for received frames
pending_frame value=
ksz8851_reg_read RX step6: get RX packet status
ksz8851_reg_read RX step7:read frame lengthksz8851snl_update: RX start packet receive len=116 [tail=1 head=1]
ksz8851_reg_clrbits=RX step9:reset RX frame pointer.
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
ksz8851_reg_setbits RX step10: start RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
Remove CRC and update pbuf length
step11-17: start FIFO read operation
IAM PRINTING FIRST 125 BYTES of RX BUFFER
0 0 0 0 0 c8 81 74 0 eb a ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 cf 0 0 80 11 6f a c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 80 bb 65 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64 e0 4b 3 47
BUFFFER ARRAY =112
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 cf 0 0 80 11 6f a c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 80 bb 65 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64 i= 121
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
ksz8851_reg_clrbits= RX step21:end RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
step22-23
ksz8851snl_low_level_inputksz8851snl_low_level_input: DMA buffer 0x200097C4 received, size=110 [tail=1 head=0]
ksz8851snl_rx_populate_queuepbuf_alloc(length=1516)
pbuf_alloc(length=1516) == 20008BBC
ksz8851snl_rx_populate_queue: new pbuf allocated with size 1516: 0x20008BBC [pos=1]
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 cf 0 0 80 11 6f a c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 80 bb 65 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64
IAM PRINTING IN ethernet_input FUN
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 cf 0 0 80 11 6f a c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 80 bb 65 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64 ethernet_input: dest:ff:ff:ff:ff:ff:ff, src:fc:3f:db:fb:58:8b, type:800
ETHTYPE_IP
pbuf_remove_header: old 200097C4 new 200097D2 (14)
pass to IP layer ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
45 0 0 60 48 cf 0 0 80 11 6f a c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 80 bb 65 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64 1
2
3
test-4
test-5
ip_input: iphdr->dest 0xff00a8c0 netif->ip_addr 0x6600a8c0 (0xa8c0, 0xa8c0, 0xff000000)
ip4_input: packet accepted on interface en
test-6
test-7
test-8
test-9
/* send to upper layers */
ip4_input:
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 96 | (v, hl, tos, len)
+-------------------------------+
| 18639 |000| 0 | (id, flags, offset)
+-------------------------------+
| 128 | 17 | 0x6f0a | (ttl, proto, chksum)
+-------------------------------+
| 192 | 168 | 0 | 100 | (src)
+-------------------------------+
| 192 | 168 | 0 | 255 | (dest)
+-------------------------------+
ip4_input: p->len 96 p->tot_len 96
test-10
raw_input
IAM PRINTING RECIEVED PAYLOAD in raw_input fun
45 0 0 60 48 cf 0 0 80 11 6f a c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 80 bb 65 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64
1
count= 4 drop the packet
3
pbuf_remove_header: old 200097D2 new 200097E6 (20)
test-11
udp_input: received datagram of length 76
UDP header:
+-------------------------------+
| 137 | 137 | (src port, dest port)
+-------------------------------+
| 76 | 0xc780 | (len, chksum)
+-------------------------------+
udp (
192.168.0.255
, 137) <-- (
192.168.0.100
, 137)
pbuf_free(200097B4)
pbuf_free: deallocating 200097B4
sct calling h=dhcp_fine_tmr t=483 arg=3002139C
tcpip: dhcp_fine_tmr()
sys_timeout: 20006684 abs_time=13502 handler=dhcp_fine_tmr arg=3002139C
sct calling h=acd_tmr t=438 arg=300213A8
tcpip: acd_tmr()
sys_timeout: 20006670 abs_time=13604 handler=acd_tmr arg=300213A8
sct calling h=ip_reass_tmr t=164 arg=30021378
tcpip: ip_reass_tmr()
sys_timeout: 200066C0 abs_time=14345 handler=ip_reass_tmr arg=30021378
sct calling h=etharp_tmr t=162 arg=30021384
tcpip: etharp_tmr()
etharp_timer
sys_timeout: 200066AC abs_time=14360 handler=etharp_tmr arg=30021384
sct calling h=ping_timeout t=119 arg=20005A88
ping: send
192.168.0.100
pbuf_alloc(length=40)
pbuf_alloc(length=40) == 2000021C
IAM PREPARING ping_prepare_echo static seq num=8 lwip_htons(++ping_seq_num) =2048
IAM PREPARING ping_prepare_echo static seq num=8 lwip_htons(++ping_seq_num) =2048
IAM PREPARING ping_prepare_echo static seq num=8 lwip_htons(++ping_seq_num) =2048
IAM PREPARING ping_prepare_echo static seq num=8 lwip_htons(++ping_seq_num) =2048
IAM PREPARING ping_prepare_echo static seq num=8 lwip_htons(++ping_seq_num) =2048raw_sendto
netif_is_up=1netif_is_link_up=1,ip4_addr_isany_val
FORWADING IP PACKETS for IP ADDRESS--> IP4ROUTE
ip4 route FOUND TO SEND
FINDING raw_sendto_if_src
pbuf_add_header: old 20000250 new 2000023C (20)
pbuf_remove_header: old 2000023C new 20000250 (20)
pbuf_add_header: old 20000250 new 2000023C (20)
ip4_output_if: en0
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 60 | (v, hl, tos, len)
+-------------------------------+
| 7 |000| 0 | (id, flags, offset)
+-------------------------------+
| 255 | 1 | 0x399f | (ttl, proto, chksum)
+-------------------------------+
| 192 | 168 | 0 | 102 | (src)
+-------------------------------+
| 192 | 168 | 0 | 100 | (dest)
+-------------------------------+
ip4_output_if: call netif->output()
pbuf_add_header: old 2000023C new 2000022E (14)
ethernet_output: sending packet 2000021C
SENDING PACKET TO THE KSZ8851SNLI FILE
SENDING PACKET TO THE KSZ8851SNLI FILE
SENDING PACKET TO THE KSZ8851SNLI FILE
fc 3f db fb 58 8b 2 12 13 10 15 11 8 0 45 0 0 3c 0 7 0 0 ff 1 39 9f c0 a8 0 66 c0 a8 0 64 8 0 57 47 af af 0 8 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
ksz8851snl_low_level_output
RECIEVED PACKET FROM ethernet_output FILE address=2000021C
fc 3f db fb 58 8b 2 12 13 10 15 11 8 0 45 0 0 3c 0 7 0 0 ff 1 39 9f c0 a8 0 66 c0 a8 0 64 8 0 57 47 af af 0 8 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
copying address to ksz8851snli 2000021Cksz8851snl_low_level_output: DMA buffer 0x2000022E sent, size=74 [tail=1 head=1]
ksz8851snl_low_level_output: DMA buffer 0x2000022E sent, size=74 [tail=1 head=1]
IAM PRINTING RESTORED DATA==fc 3f db fb 58 8b 2 12 13 10 15 11 8 6 0 1 8 0 6 4 0 2 2 12 13 10 15 11 c0 a8 0 66 fc 3f db fb 58 8b c0 a8 0 64
fc 3f db fb 58 8b 2 12 13 10 15 11 8 0 45 0 0 3c 0 7 0 0 ff 1 39 9f c0 a8 0 66 c0 a8 0 64 8 0 57 47 af af 0 8 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
pbuf_free(2000021C)
pbuf_free: 2000021C has ref 1, ending here.
sys_timeout: 2000665C abs_time=14776 handler=ping_timeout arg=20005A88
IAM IN WHILE LOOP
ethernetif_input
ksz8851snl_update
IAM HANDLING RX
IAM HANDLING RX
IAM HANDLING RX
ksz8851_reg_read RX step6: get RX packet status
ksz8851_reg_read RX step7:read frame lengthksz8851snl_update: RX start packet receive len=116 [tail=0 head=0]
ksz8851_reg_clrbits=RX step9:reset RX frame pointer.
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
ksz8851_reg_setbits RX step10: start RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
Remove CRC and update pbuf length
step11-17: start FIFO read operation
IAM PRINTING FIRST 125 BYTES of RX BUFFER
0 0 0 0 0 c8 81 74 0 e0 4b ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 d0 0 0 80 11 6f 9 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c 4d 86 bb 67 29 10 0 1 0 0 0 0 0 1 20 46 48 45 50 46 43 45 4c 45 48 46 43 45 50 46 46 46 41 43 41 43 41 43 41 43 41 43 41 43 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 c0 0 c0 a8 0 64 8a 70 af 4d
BUFFFER ARRAY =112
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 d0 0 0 80 11 6f 9 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c 4d 86 bb 67 29 10 0 1 0 0 0 0 0 1 20 46 48 45 50 46 43 45 4c 45 48 46 43 45 50 46 46 46 41 43 41 43 41 43 41 43 41 43 41 43 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 c0 0 c0 a8 0 64 i= 121
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
ksz8851_reg_clrbits= RX step21:end RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
step22-23
ksz8851snl_low_level_inputksz8851snl_low_level_input: DMA buffer 0x200091C8 received, size=110 [tail=0 head=1]
ksz8851snl_rx_populate_queuepbuf_alloc(length=1516)
pbuf_alloc(length=1516) == 200097B4
ksz8851snl_rx_populate_queue: new pbuf allocated with size 1516: 0x200097B4 [pos=0]
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 d0 0 0 80 11 6f 9 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c 4d 86 bb 67 29 10 0 1 0 0 0 0 0 1 20 46 48 45 50 46 43 45 4c 45 48 46 43 45 50 46 46 46 41 43 41 43 41 43 41 43 41 43 41 43 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 c0 0 c0 a8 0 64
IAM PRINTING IN ethernet_input FUN
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 d0 0 0 80 11 6f 9 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c 4d 86 bb 67 29 10 0 1 0 0 0 0 0 1 20 46 48 45 50 46 43 45 4c 45 48 46 43 45 50 46 46 46 41 43 41 43 41 43 41 43 41 43 41 43 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 c0 0 c0 a8 0 64 ethernet_input: dest:ff:ff:ff:ff:ff:ff, src:fc:3f:db:fb:58:8b, type:800
ETHTYPE_IP
pbuf_remove_header: old 200091C8 new 200091D6 (14)
pass to IP layer ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
45 0 0 60 48 d0 0 0 80 11 6f 9 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c 4d 86 bb 67 29 10 0 1 0 0 0 0 0 1 20 46 48 45 50 46 43 45 4c 45 48 46 43 45 50 46 46 46 41 43 41 43 41 43 41 43 41 43 41 43 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 c0 0 c0 a8 0 64 1
2
3
test-4
test-5
ip_input: iphdr->dest 0xff00a8c0 netif->ip_addr 0x6600a8c0 (0xa8c0, 0xa8c0, 0xff000000)
ip4_input: packet accepted on interface en
test-6
test-7
test-8
test-9
/* send to upper layers */
ip4_input:
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 96 | (v, hl, tos, len)
+-------------------------------+
| 18640 |000| 0 | (id, flags, offset)
+-------------------------------+
| 128 | 17 | 0x6f09 | (ttl, proto, chksum)
+-------------------------------+
| 192 | 168 | 0 | 100 | (src)
+-------------------------------+
| 192 | 168 | 0 | 255 | (dest)
+-------------------------------+
ip4_input: p->len 96 p->tot_len 96
test-10
raw_input
IAM PRINTING RECIEVED PAYLOAD in raw_input fun
45 0 0 60 48 d0 0 0 80 11 6f 9 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c 4d 86 bb 67 29 10 0 1 0 0 0 0 0 1 20 46 48 45 50 46 43 45 4c 45 48 46 43 45 50 46 46 46 41 43 41 43 41 43 41 43 41 43 41 43 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 c0 0 c0 a8 0 64
1
count= 5 drop the packet
3
pbuf_remove_header: old 200091D6 new 200091EA (20)
test-11
udp_input: received datagram of length 76
UDP header:
+-------------------------------+
| 137 | 137 | (src port, dest port)
+-------------------------------+
| 76 | 0x4d86 | (len, chksum)
+-------------------------------+
udp (
192.168.0.255
, 137) <-- (
192.168.0.100
, 137)
pbuf_free(200091B8)
pbuf_free: deallocating 200091B8
sct calling h=dhcp_fine_tmr t=744 arg=3002139C
tcpip: dhcp_fine_tmr()
sys_timeout: 20006684 abs_time=14752 handler=dhcp_fine_tmr arg=3002139C
sct calling h=acd_tmr t=655 arg=300213A8
tcpip: acd_tmr()
sys_timeout: 20006670 abs_time=14364 handler=acd_tmr arg=300213A8
IAM IN WHILE LOOP
ethernetif_input
ksz8851snl_update
IAM HANDLING RX
IAM HANDLING RX
IAM HANDLING RX
ksz8851_reg_read RX step6: get RX packet status
ksz8851_reg_read RX step7:read frame lengthksz8851snl_update: RX start packet receive len=116 [tail=1 head=1]
ksz8851_reg_clrbits=RX step9:reset RX frame pointer.
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
ksz8851_reg_setbits RX step10: start RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
Remove CRC and update pbuf length
step11-17: start FIFO read operation
IAM PRINTING FIRST 125 BYTES of RX BUFFER
0 0 0 0 0 c8 81 74 0 8a 70 ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 d1 0 0 80 11 6f 8 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 7d bb 66 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 43 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64 3b 10 21 cf
BUFFFER ARRAY =112
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 d1 0 0 80 11 6f 8 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 7d bb 66 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 43 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64 i= 121
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
ksz8851_reg_clrbits= RX step21:end RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
step22-23
ksz8851snl_low_level_inputksz8851snl_low_level_input: DMA buffer 0x20008BCC received, size=110 [tail=1 head=0]
ksz8851snl_rx_populate_queuepbuf_alloc(length=1516)
pbuf_alloc(length=1516) == 200091B8
ksz8851snl_rx_populate_queue: new pbuf allocated with size 1516: 0x200091B8 [pos=1]
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 d1 0 0 80 11 6f 8 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 7d bb 66 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 43 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64
IAM PRINTING IN ethernet_input FUN
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 d1 0 0 80 11 6f 8 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 7d bb 66 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 43 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64 ethernet_input: dest:ff:ff:ff:ff:ff:ff, src:fc:3f:db:fb:58:8b, type:800
ETHTYPE_IP
pbuf_remove_header: old 20008BCC new 20008BDA (14)
pass to IP layer ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
45 0 0 60 48 d1 0 0 80 11 6f 8 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 7d bb 66 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 43 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64 1
2
3
test-4
test-5
ip_input: iphdr->dest 0xff00a8c0 netif->ip_addr 0x6600a8c0 (0xa8c0, 0xa8c0, 0xff000000)
ip4_input: packet accepted on interface en
test-6
test-7
test-8
test-9
/* send to upper layers */
ip4_input:
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 96 | (v, hl, tos, len)
+-------------------------------+
| 18641 |000| 0 | (id, flags, offset)
+-------------------------------+
| 128 | 17 | 0x6f08 | (ttl, proto, chksum)
+-------------------------------+
| 192 | 168 | 0 | 100 | (src)
+-------------------------------+
| 192 | 168 | 0 | 255 | (dest)
+-------------------------------+
ip4_input: p->len 96 p->tot_len 96
test-10
raw_input
IAM PRINTING RECIEVED PAYLOAD in raw_input fun
45 0 0 60 48 d1 0 0 80 11 6f 8 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 7d bb 66 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 43 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64
1
count= 6 drop the packet
3
pbuf_remove_header: old 20008BDA new 20008BEE (20)
test-11
udp_input: received datagram of length 76
UDP header:
+-------------------------------+
| 137 | 137 | (src port, dest port)
+-------------------------------+
| 76 | 0xc77d | (len, chksum)
+-------------------------------+
udp (
192.168.0.255
, 137) <-- (
192.168.0.100
, 137)
pbuf_free(20008BBC)
pbuf_free: deallocating 20008BBC
sct calling h=ip_reass_tmr t=389 arg=30021378
tcpip: ip_reass_tmr()
sys_timeout: 200066C0 abs_time=15345 handler=ip_reass_tmr arg=30021378
sct calling h=etharp_tmr t=387 arg=30021384
tcpip: etharp_tmr()
etharp_timer
sys_timeout: 200066AC abs_time=15360 handler=etharp_tmr arg=30021384
sct calling h=acd_tmr t=396 arg=300213A8
tcpip: acd_tmr()
sys_timeout: 20006670 abs_time=14865 handler=acd_tmr arg=300213A8
IAM IN WHILE LOOP
ethernetif_input
ksz8851snl_update
IAM HANDLING RX
IAM HANDLING RX
IAM HANDLING RX
ksz8851_reg_read RX step6: get RX packet status
ksz8851_reg_read RX step7:read frame lengthksz8851snl_update: RX start packet receive len=66 [tail=0 head=0]
ksz8851_reg_clrbits=RX step9:reset RX frame pointer.
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
ksz8851_reg_setbits RX step10: start RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
Remove CRC and update pbuf length
step11-17: start FIFO read operation
IAM PRINTING FIRST 77 BYTES of RX BUFFER
0 0 0 0 0 c8 81 42 0 3b 10 ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 c0 a8 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 44 5c 59 2b 44 5c
BUFFFER ARRAY =62
ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 c0 a8 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 i= 71
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
ksz8851_reg_clrbits= RX step21:end RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
step22-23
ksz8851snl_low_level_inputksz8851snl_low_level_input: DMA buffer 0x200097C4 received, size=60 [tail=0 head=1]
ksz8851snl_rx_populate_queuepbuf_alloc(length=1516)
pbuf_alloc(length=1516) == 20008BBC
ksz8851snl_rx_populate_queue: new pbuf allocated with size 1516: 0x20008BBC [pos=0]
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 c0 a8 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IAM PRINTING IN ethernet_input FUN
ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 c0 a8 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ethernet_input: dest:ff:ff:ff:ff:ff:ff, src:fc:3f:db:fb:58:8b, type:806
ETHTYPE_ARP
pbuf_remove_header: old 200097C4 new 200097D2 (14)
/* pass p to ARP module etharp_input */
acd_arp_reply()
etharp_update_arp_entry: 192.168.0.100 - fc:3f:db:fb:58:8b
etharp_find_entry: found matching entry 0
etharp_update_arp_entry: updating stable entry 0
ARP_REQUEST
etharp_input: incoming ARP request
etharp_input: ARP request was not for us.
pbuf_free(200097B4)
pbuf_free: deallocating 200097B4
sct calling h=dhcp_fine_tmr t=283 arg=3002139C
tcpip: dhcp_fine_tmr()
sys_timeout: 20006684 abs_time=15252 handler=dhcp_fine_tmr arg=3002139C
sct calling h=ping_timeout t=272 arg=20005A88
ping: send
192.168.0.100
pbuf_alloc(length=40)
pbuf_alloc(length=40) == 20000280
IAM PREPARING ping_prepare_echo static seq num=9 lwip_htons(++ping_seq_num) =2304
IAM PREPARING ping_prepare_echo static seq num=9 lwip_htons(++ping_seq_num) =2304
IAM PREPARING ping_prepare_echo static seq num=9 lwip_htons(++ping_seq_num) =2304
IAM PREPARING ping_prepare_echo static seq num=9 lwip_htons(++ping_seq_num) =2304
IAM PREPARING ping_prepare_echo static seq num=9 lwip_htons(++ping_seq_num) =2304raw_sendto
netif_is_up=1netif_is_link_up=1,ip4_addr_isany_val
FORWADING IP PACKETS for IP ADDRESS--> IP4ROUTE
ip4 route FOUND TO SEND
FINDING raw_sendto_if_src
pbuf_add_header: old 200002B4 new 200002A0 (20)
pbuf_remove_header: old 200002A0 new 200002B4 (20)
pbuf_add_header: old 200002B4 new 200002A0 (20)
ip4_output_if: en0
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 60 | (v, hl, tos, len)
+-------------------------------+
| 8 |000| 0 | (id, flags, offset)
+-------------------------------+
| 255 | 1 | 0x399e | (ttl, proto, chksum)
+-------------------------------+
| 192 | 168 | 0 | 102 | (src)
+-------------------------------+
| 192 | 168 | 0 | 100 | (dest)
+-------------------------------+
ip4_output_if: call netif->output()
pbuf_add_header: old 200002A0 new 20000292 (14)
ethernet_output: sending packet 20000280
SENDING PACKET TO THE KSZ8851SNLI FILE
SENDING PACKET TO THE KSZ8851SNLI FILE
SENDING PACKET TO THE KSZ8851SNLI FILE
fc 3f db fb 58 8b 2 12 13 10 15 11 8 0 45 0 0 3c 0 8 0 0 ff 1 39 9e c0 a8 0 66 c0 a8 0 64 8 0 57 46 af af 0 9 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
ksz8851snl_low_level_output
RECIEVED PACKET FROM ethernet_output FILE address=20000280
fc 3f db fb 58 8b 2 12 13 10 15 11 8 0 45 0 0 3c 0 8 0 0 ff 1 39 9e c0 a8 0 66 c0 a8 0 64 8 0 57 46 af af 0 9 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
copying address to ksz8851snli 20000280ksz8851snl_low_level_output: DMA buffer 0x20000292 sent, size=74 [tail=1 head=0]
ksz8851snl_low_level_output: DMA buffer 0x20000292 sent, size=74 [tail=1 head=0]
pbuf_free(20000280)
pbuf_free: 20000280 has ref 1, ending here.
sys_timeout: 2000665C abs_time=16257 handler=ping_timeout arg=20005A88
sct calling h=acd_tmr t=399 arg=300213A8
tcpip: acd_tmr()
sys_timeout: 20006670 abs_time=15369 handler=acd_tmr arg=300213A8
IAM IN WHILE LOOP
ethernetif_input
ksz8851snl_update
IAM HANDLING RX
IAM HANDLING RX
IAM HANDLING RX
ksz8851_reg_read RX step6: get RX packet status
ksz8851_reg_read RX step7:read frame lengthksz8851snl_update: RX start packet receive len=66 [tail=1 head=1]
ksz8851_reg_clrbits=RX step9:reset RX frame pointer.
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
ksz8851_reg_setbits RX step10: start RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
Remove CRC and update pbuf length
step11-17: start FIFO read operation
IAM PRINTING FIRST 77 BYTES of RX BUFFER
0 0 0 0 0 c8 81 42 0 ad a6 ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 8 8 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 58 eb 5a f1 58 eb
BUFFFER ARRAY =62
ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 8 8 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 i= 71
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
ksz8851_reg_clrbits= RX step21:end RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
step22-23
ksz8851snl_low_level_inputksz8851snl_low_level_input: DMA buffer 0x200091C8 received, size=60 [tail=1 head=0]
ksz8851snl_rx_populate_queuepbuf_alloc(length=1516)
pbuf_alloc(length=1516) == 200097B4
ksz8851snl_rx_populate_queue: new pbuf allocated with size 1516: 0x200097B4 [pos=1]
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 8 8 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IAM PRINTING IN ethernet_input FUN
ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 8 8 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ethernet_input: dest:ff:ff:ff:ff:ff:ff, src:fc:3f:db:fb:58:8b, type:806
ETHTYPE_ARP
pbuf_remove_header: old 200091C8 new 200091D6 (14)
/* pass p to ARP module etharp_input */
acd_arp_reply()
etharp_update_arp_entry: 192.168.0.100 - fc:3f:db:fb:58:8b
etharp_find_entry: found matching entry 0
etharp_update_arp_entry: updating stable entry 0
ARP_REQUEST
etharp_input: incoming ARP request
etharp_input: ARP request was not for us.
pbuf_free(200091B8)
pbuf_free: deallocating 200091B8
sct calling h=dhcp_fine_tmr t=286 arg=3002139C
tcpip: dhcp_fine_tmr()
sys_timeout: 20006684 abs_time=15752 handler=dhcp_fine_tmr arg=3002139C
sct calling h=ip_reass_tmr t=206 arg=30021378
tcpip: ip_reass_tmr()
sys_timeout: 200066C0 abs_time=16345 handler=ip_reass_tmr arg=30021378
sct calling h=etharp_tmr t=203 arg=30021384
tcpip: etharp_tmr()
etharp_timer
sys_timeout: 200066AC abs_time=16360 handler=etharp_tmr arg=30021384
sct calling h=acd_tmr t=208 arg=300213A8
tcpip: acd_tmr()
sys_timeout: 20006670 abs_time=15682 handler=acd_tmr arg=300213A8
IAM IN WHILE LOOP
ethernetif_input
ksz8851snl_update
IAM HANDLING RX
IAM HANDLING RX
IAM HANDLING RX
ksz8851_reg_read RX step6: get RX packet status
ksz8851_reg_read RX step7:read frame lengthksz8851snl_update: RX start packet receive len=66 [tail=0 head=0]
ksz8851_reg_clrbits=RX step9:reset RX frame pointer.
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
ksz8851_reg_setbits RX step10: start RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
Remove CRC and update pbuf length
step11-17: start FIFO read operation
IAM PRINTING FIRST 77 BYTES of RX BUFFER
0 0 0 0 0 c8 81 42 0 a7 ee ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 c0 a8 0 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 33 4d eb a 33 4d
BUFFFER ARRAY =62
ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 c0 a8 0 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 i= 71
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
ksz8851_reg_clrbits= RX step21:end RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
step22-23
ksz8851snl_low_level_inputksz8851snl_low_level_input: DMA buffer 0x20008BCC received, size=60 [tail=0 head=1]
ksz8851snl_rx_populate_queuepbuf_alloc(length=1516)
pbuf_alloc(length=1516) == 200091B8
ksz8851snl_rx_populate_queue: new pbuf allocated with size 1516: 0x200091B8 [pos=0]
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 c0 a8 0 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IAM PRINTING IN ethernet_input FUN
ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 c0 a8 0 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ethernet_input: dest:ff:ff:ff:ff:ff:ff, src:fc:3f:db:fb:58:8b, type:806
ETHTYPE_ARP
pbuf_remove_header: old 20008BCC new 20008BDA (14)
/* pass p to ARP module etharp_input */
acd_arp_reply()
etharp_update_arp_entry: 192.168.0.100 - fc:3f:db:fb:58:8b
etharp_find_entry: found matching entry 0
etharp_update_arp_entry: updating stable entry 0
ARP_REQUEST
etharp_input: incoming ARP request
/* send ARP response */
pbuf_alloc(length=28)
pbuf_alloc(length=28) == 200002E4
etharp_raw: sending raw ARP packet.
pbuf_add_header: old 20000304 new 200002F6 (14)
ethernet_output: sending packet 200002E4
SENDING PACKET TO THE KSZ8851SNLI FILE
SENDING PACKET TO THE KSZ8851SNLI FILE
SENDING PACKET TO THE KSZ8851SNLI FILE
fc 3f db fb 58 8b 2 12 13 10 15 11 8 6 0 1 8 0 6 4 0 2 2 12 13 10 15 11 c0 a8 0 66 fc 3f db fb 58 8b c0 a8 0 64
ksz8851snl_low_level_output
RECIEVED PACKET FROM ethernet_output FILE address=200002E4
fc 3f db fb 58 8b 2 12 13 10 15 11 8 6 0 1 8 0 6 4 0 2 2 12 13 10 15 11 c0 a8 0 66 fc 3f db fb 58 8b c0 a8 0 64 ksz8851snl_low_level_output: out of free descriptor! [tail=1 head=1]
ksz8851snl_low_level_output: out of free descriptor! [tail=1 head=1]
IAM FREEING THE ARP QUERY ADDRESS=200002E4
IAM FREEING THE ARP QUERY ADDRESS=200002E4
IAM FREEING THE ARP QUERY ADDRESS=200002E4pbuf_free(200002E4)
pbuf_free: deallocating 200002E4
pbuf_free(20008BBC)
pbuf_free: deallocating 20008BBC
sct calling h=acd_tmr t=253 arg=300213A8
tcpip: acd_tmr()
sys_timeout: 20006670 abs_time=16040 handler=acd_tmr arg=300213A8
sct calling h=dhcp_fine_tmr t=194 arg=3002139C
tcpip: dhcp_fine_tmr()
sys_timeout: 20006684 abs_time=16252 handler=dhcp_fine_tmr arg=3002139C
IAM IN WHILE LOOP
ethernetif_input
ksz8851snl_update
IAM HANDLING RX
IAM HANDLING RX
IAM HANDLING RX
ksz8851_reg_read RX step6: get RX packet status
ksz8851_reg_read RX step7:read frame lengthksz8851snl_update: RX start packet receive len=116 [tail=1 head=1]
ksz8851_reg_clrbits=RX step9:reset RX frame pointer.
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
ksz8851_reg_setbits RX step10: start RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
Remove CRC and update pbuf length
step11-17: start FIFO read operation
IAM PRINTING FIRST 125 BYTES of RX BUFFER
0 0 0 0 0 c8 81 74 0 eb a ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 d2 0 0 80 11 6f 7 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 80 bb 65 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64 e3 a a6 4e
BUFFFER ARRAY =112
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 d2 0 0 80 11 6f 7 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 80 bb 65 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64 i= 121
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
ksz8851_reg_clrbits= RX step21:end RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
step22-23
ksz8851snl_low_level_inputksz8851snl_low_level_input: DMA buffer 0x200097C4 received, size=110 [tail=1 head=0]
ksz8851snl_rx_populate_queuepbuf_alloc(length=1516)
pbuf_alloc(length=1516) == 20008BBC
ksz8851snl_rx_populate_queue: new pbuf allocated with size 1516: 0x20008BBC [pos=1]
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 d2 0 0 80 11 6f 7 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 80 bb 65 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64
IAM PRINTING IN ethernet_input FUN
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 d2 0 0 80 11 6f 7 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 80 bb 65 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64 ethernet_input: dest:ff:ff:ff:ff:ff:ff, src:fc:3f:db:fb:58:8b, type:800
ETHTYPE_IP
pbuf_remove_header: old 200097C4 new 200097D2 (14)
pass to IP layer ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
45 0 0 60 48 d2 0 0 80 11 6f 7 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 80 bb 65 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64 1
2
3
test-4
test-5
ip_input: iphdr->dest 0xff00a8c0 netif->ip_addr 0x6600a8c0 (0xa8c0, 0xa8c0, 0xff000000)
ip4_input: packet accepted on interface en
test-6
test-7
test-8
test-9
/* send to upper layers */
ip4_input:
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 96 | (v, hl, tos, len)
+-------------------------------+
| 18642 |000| 0 | (id, flags, offset)
+-------------------------------+
| 128 | 17 | 0x6f07 | (ttl, proto, chksum)
+-------------------------------+
| 192 | 168 | 0 | 100 | (src)
+-------------------------------+
| 192 | 168 | 0 | 255 | (dest)
+-------------------------------+
ip4_input: p->len 96 p->tot_len 96
test-10
raw_input
IAM PRINTING RECIEVED PAYLOAD in raw_input fun
45 0 0 60 48 d2 0 0 80 11 6f 7 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 80 bb 65 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64
1
count= 7 drop the packet
3
pbuf_remove_header: old 200097D2 new 200097E6 (20)
test-11
udp_input: received datagram of length 76
UDP header:
+-------------------------------+
| 137 | 137 | (src port, dest port)
+-------------------------------+
| 76 | 0xc780 | (len, chksum)
+-------------------------------+
udp (
192.168.0.255
, 137) <-- (
192.168.0.100
, 137)
pbuf_free(200097B4)
pbuf_free: deallocating 200097B4
sct calling h=acd_tmr t=383 arg=300213A8
tcpip: acd_tmr()
sys_timeout: 20006670 abs_time=16528 handler=acd_tmr arg=300213A8
sct calling h=dhcp_fine_tmr t=182 arg=3002139C
tcpip: dhcp_fine_tmr()
sys_timeout: 20006684 abs_time=16752 handler=dhcp_fine_tmr arg=3002139C
sct calling h=ping_timeout t=190 arg=20005A88
ping: send
192.168.0.100
pbuf_alloc(length=40)
pbuf_alloc(length=40) == 200002E4
IAM PREPARING ping_prepare_echo static seq num=10 lwip_htons(++ping_seq_num) =2560
IAM PREPARING ping_prepare_echo static seq num=10 lwip_htons(++ping_seq_num) =2560
IAM PREPARING ping_prepare_echo static seq num=10 lwip_htons(++ping_seq_num) =2560
IAM PREPARING ping_prepare_echo static seq num=10 lwip_htons(++ping_seq_num) =2560
IAM PREPARING ping_prepare_echo static seq num=10 lwip_htons(++ping_seq_num) =2560raw_sendto
netif_is_up=1netif_is_link_up=1,ip4_addr_isany_val
FORWADING IP PACKETS for IP ADDRESS--> IP4ROUTE
ip4 route FOUND TO SEND
FINDING raw_sendto_if_src
pbuf_add_header: old 20000318 new 20000304 (20)
pbuf_remove_header: old 20000304 new 20000318 (20)
pbuf_add_header: old 20000318 new 20000304 (20)
ip4_output_if: en0
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 60 | (v, hl, tos, len)
+-------------------------------+
| 9 |000| 0 | (id, flags, offset)
+-------------------------------+
| 255 | 1 | 0x399d | (ttl, proto, chksum)
+-------------------------------+
| 192 | 168 | 0 | 102 | (src)
+-------------------------------+
| 192 | 168 | 0 | 100 | (dest)
+-------------------------------+
ip4_output_if: call netif->output()
pbuf_add_header: old 20000304 new 200002F6 (14)
ethernet_output: sending packet 200002E4
SENDING PACKET TO THE KSZ8851SNLI FILE
SENDING PACKET TO THE KSZ8851SNLI FILE
SENDING PACKET TO THE KSZ8851SNLI FILE
fc 3f db fb 58 8b 2 12 13 10 15 11 8 0 45 0 0 3c 0 9 0 0 ff 1 39 9d c0 a8 0 66 c0 a8 0 64 8 0 57 45 af af 0 a 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
ksz8851snl_low_level_output
RECIEVED PACKET FROM ethernet_output FILE address=200002E4
fc 3f db fb 58 8b 2 12 13 10 15 11 8 0 45 0 0 3c 0 9 0 0 ff 1 39 9d c0 a8 0 66 c0 a8 0 64 8 0 57 45 af af 0 a 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f ksz8851snl_low_level_output: out of free descriptor! [tail=1 head=1]
ksz8851snl_low_level_output: out of free descriptor! [tail=1 head=1]
pbuf_free(200002E4)
pbuf_free: deallocating 200002E4
sys_timeout: 2000665C abs_time=17650 handler=ping_timeout arg=20005A88
sct calling h=ip_reass_tmr t=312 arg=30021378
tcpip: ip_reass_tmr()
sys_timeout: 200066C0 abs_time=17345 handler=ip_reass_tmr arg=30021378
sct calling h=etharp_tmr t=309 arg=30021384
tcpip: etharp_tmr()
etharp_timer
sys_timeout: 200066AC abs_time=17360 handler=etharp_tmr arg=30021384
IAM IN WHILE LOOP
ethernetif_input
ksz8851snl_update
IAM HANDLING RX
IAM HANDLING RX
IAM HANDLING RX
ksz8851_reg_read RX step6: get RX packet status
ksz8851_reg_read RX step7:read frame lengthksz8851snl_update: RX start packet receive len=116 [tail=0 head=0]
ksz8851_reg_clrbits=RX step9:reset RX frame pointer.
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
ksz8851_reg_setbits RX step10: start RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
Remove CRC and update pbuf length
step11-17: start FIFO read operation
IAM PRINTING FIRST 125 BYTES of RX BUFFER
0 0 0 0 0 c8 81 74 0 e3 a ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 d3 0 0 80 11 6f 6 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c 4d 86 bb 67 29 10 0 1 0 0 0 0 0 1 20 46 48 45 50 46 43 45 4c 45 48 46 43 45 50 46 46 46 41 43 41 43 41 43 41 43 41 43 41 43 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 c0 0 c0 a8 0 64 ea 39 be b8
BUFFFER ARRAY =112
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 d3 0 0 80 11 6f 6 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c 4d 86 bb 67 29 10 0 1 0 0 0 0 0 1 20 46 48 45 50 46 43 45 4c 45 48 46 43 45 50 46 46 46 41 43 41 43 41 43 41 43 41 43 41 43 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 c0 0 c0 a8 0 64 i= 121
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
ksz8851_reg_clrbits= RX step21:end RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
step22-23
ksz8851snl_low_level_inputksz8851snl_low_level_input: DMA buffer 0x200091C8 received, size=110 [tail=0 head=1]
ksz8851snl_rx_populate_queuepbuf_alloc(length=1516)
pbuf_alloc(length=1516) == 200097B4
ksz8851snl_rx_populate_queue: new pbuf allocated with size 1516: 0x200097B4 [pos=0]
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 d3 0 0 80 11 6f 6 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c 4d 86 bb 67 29 10 0 1 0 0 0 0 0 1 20 46 48 45 50 46 43 45 4c 45 48 46 43 45 50 46 46 46 41 43 41 43 41 43 41 43 41 43 41 43 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 c0 0 c0 a8 0 64
IAM PRINTING IN ethernet_input FUN
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 d3 0 0 80 11 6f 6 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c 4d 86 bb 67 29 10 0 1 0 0 0 0 0 1 20 46 48 45 50 46 43 45 4c 45 48 46 43 45 50 46 46 46 41 43 41 43 41 43 41 43 41 43 41 43 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 c0 0 c0 a8 0 64 ethernet_input: dest:ff:ff:ff:ff:ff:ff, src:fc:3f:db:fb:58:8b, type:800
ETHTYPE_IP
pbuf_remove_header: old 200091C8 new 200091D6 (14)
pass to IP layer ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
45 0 0 60 48 d3 0 0 80 11 6f 6 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c 4d 86 bb 67 29 10 0 1 0 0 0 0 0 1 20 46 48 45 50 46 43 45 4c 45 48 46 43 45 50 46 46 46 41 43 41 43 41 43 41 43 41 43 41 43 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 c0 0 c0 a8 0 64 1
2
3
test-4
test-5
ip_input: iphdr->dest 0xff00a8c0 netif->ip_addr 0x6600a8c0 (0xa8c0, 0xa8c0, 0xff000000)
ip4_input: packet accepted on interface en
test-6
test-7
test-8
test-9
/* send to upper layers */
ip4_input:
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 96 | (v, hl, tos, len)
+-------------------------------+
| 18643 |000| 0 | (id, flags, offset)
+-------------------------------+
| 128 | 17 | 0x6f06 | (ttl, proto, chksum)
+-------------------------------+
| 192 | 168 | 0 | 100 | (src)
+-------------------------------+
| 192 | 168 | 0 | 255 | (dest)
+-------------------------------+
ip4_input: p->len 96 p->tot_len 96
test-10
raw_input
IAM PRINTING RECIEVED PAYLOAD in raw_input fun
45 0 0 60 48 d3 0 0 80 11 6f 6 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c 4d 86 bb 67 29 10 0 1 0 0 0 0 0 1 20 46 48 45 50 46 43 45 4c 45 48 46 43 45 50 46 46 46 41 43 41 43 41 43 41 43 41 43 41 43 41 41 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 c0 0 c0 a8 0 64
1
count= 8 drop the packet
3
pbuf_remove_header: old 200091D6 new 200091EA (20)
test-11
udp_input: received datagram of length 76
UDP header:
+-------------------------------+
| 137 | 137 | (src port, dest port)
+-------------------------------+
| 76 | 0x4d86 | (len, chksum)
+-------------------------------+
udp (
192.168.0.255
, 137) <-- (
192.168.0.100
, 137)
pbuf_free(200091B8)
pbuf_free: deallocating 200091B8
sct calling h=acd_tmr t=619 arg=300213A8
tcpip: acd_tmr()
sys_timeout: 20006670 abs_time=17252 handler=acd_tmr arg=300213A8
sct calling h=dhcp_fine_tmr t=406 arg=3002139C
tcpip: dhcp_fine_tmr()
sys_timeout: 20006684 abs_time=17252 handler=dhcp_fine_tmr arg=3002139C
IAM IN WHILE LOOP
ethernetif_input
ksz8851snl_update
IAM HANDLING RX
IAM HANDLING RX
IAM HANDLING RX
ksz8851_reg_read RX step6: get RX packet status
ksz8851_reg_read RX step7:read frame lengthksz8851snl_update: RX start packet receive len=116 [tail=1 head=1]
ksz8851_reg_clrbits=RX step9:reset RX frame pointer.
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
ksz8851_reg_setbits RX step10: start RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
Remove CRC and update pbuf length
step11-17: start FIFO read operation
IAM PRINTING FIRST 125 BYTES of RX BUFFER
0 0 0 0 0 c8 81 74 0 ea 39 ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 d4 0 0 80 11 6f 5 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 7d bb 66 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 43 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64 c6 93 77 c1
BUFFFER ARRAY =112
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 d4 0 0 80 11 6f 5 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 7d bb 66 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 43 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64 i= 121
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
ksz8851_reg_clrbits= RX step21:end RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
step22-23
ksz8851snl_low_level_inputksz8851snl_low_level_input: DMA buffer 0x20008BCC received, size=110 [tail=1 head=0]
ksz8851snl_rx_populate_queuepbuf_alloc(length=1516)
pbuf_alloc(length=1516) == 200091B8
ksz8851snl_rx_populate_queue: new pbuf allocated with size 1516: 0x200091B8 [pos=1]
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 d4 0 0 80 11 6f 5 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 7d bb 66 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 43 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64
IAM PRINTING IN ethernet_input FUN
ff ff ff ff ff ff fc 3f db fb 58 8b 8 0 45 0 0 60 48 d4 0 0 80 11 6f 5 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 7d bb 66 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 43 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64 ethernet_input: dest:ff:ff:ff:ff:ff:ff, src:fc:3f:db:fb:58:8b, type:800
ETHTYPE_IP
pbuf_remove_header: old 20008BCC new 20008BDA (14)
pass to IP layer ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
IAM PRINTING RECIEVED PAYLOAD ip4_input
45 0 0 60 48 d4 0 0 80 11 6f 5 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 7d bb 66 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 43 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64 1
2
3
test-4
test-5
ip_input: iphdr->dest 0xff00a8c0 netif->ip_addr 0x6600a8c0 (0xa8c0, 0xa8c0, 0xff000000)
ip4_input: packet accepted on interface en
test-6
test-7
test-8
test-9
/* send to upper layers */
ip4_input:
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 96 | (v, hl, tos, len)
+-------------------------------+
| 18644 |000| 0 | (id, flags, offset)
+-------------------------------+
| 128 | 17 | 0x6f05 | (ttl, proto, chksum)
+-------------------------------+
| 192 | 168 | 0 | 100 | (src)
+-------------------------------+
| 192 | 168 | 0 | 255 | (dest)
+-------------------------------+
ip4_input: p->len 96 p->tot_len 96
test-10
raw_input
IAM PRINTING RECIEVED PAYLOAD in raw_input fun
45 0 0 60 48 d4 0 0 80 11 6f 5 c0 a8 0 64 c0 a8 0 ff 0 89 0 89 0 4c c7 7d bb 66 29 10 0 1 0 0 0 0 0 1 20 45 45 45 46 46 44 45 4c 46 45 45 50 46 41 43 4e 45 43 44 43 46 44 44 45 45 43 45 43 46 41 43 41 0 0 20 0 1 c0 c 0 20 0 1 0 4 93 e0 0 6 40 0 c0 a8 0 64
1
count= 9 drop the packet
3
pbuf_remove_header: old 20008BDA new 20008BEE (20)
test-11
udp_input: received datagram of length 76
UDP header:
+-------------------------------+
| 137 | 137 | (src port, dest port)
+-------------------------------+
| 76 | 0xc77d | (len, chksum)
+-------------------------------+
udp (
192.168.0.255
, 137) <-- (
192.168.0.100
, 137)
pbuf_free(20008BBC)
pbuf_free: deallocating 20008BBC
sct calling h=acd_tmr t=383 arg=300213A8
tcpip: acd_tmr()
sys_timeout: 20006670 abs_time=17740 handler=acd_tmr arg=300213A8
sct calling h=dhcp_fine_tmr t=394 arg=3002139C
tcpip: dhcp_fine_tmr()
sys_timeout: 20006684 abs_time=17752 handler=dhcp_fine_tmr arg=3002139C
sct calling h=ip_reass_tmr t=314 arg=30021378
tcpip: ip_reass_tmr()
sys_timeout: 200066C0 abs_time=18345 handler=ip_reass_tmr arg=30021378
sct calling h=etharp_tmr t=312 arg=30021384
tcpip: etharp_tmr()
etharp_timer
sys_timeout: 200066AC abs_time=18360 handler=etharp_tmr arg=30021384
IAM IN WHILE LOOP
ethernetif_input
ksz8851snl_update
IAM HANDLING RX
IAM HANDLING RX
IAM HANDLING RX
ksz8851_reg_read RX step6: get RX packet status
ksz8851_reg_read RX step7:read frame lengthksz8851snl_update: RX start packet receive len=66 [tail=0 head=0]
ksz8851_reg_clrbits=RX step9:reset RX frame pointer.
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
ksz8851_reg_setbits RX step10: start RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
Remove CRC and update pbuf length
step11-17: start FIFO read operation
IAM PRINTING FIRST 77 BYTES of RX BUFFER
0 0 0 0 0 c8 81 42 0 c6 93 ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 c0 a8 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 44 5c 59 2b 44 5c
BUFFFER ARRAY =62
ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 c0 a8 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 i= 71
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
ksz8851_reg_clrbits= RX step21:end RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
step22-23
ksz8851snl_low_level_inputksz8851snl_low_level_input: DMA buffer 0x200097C4 received, size=60 [tail=0 head=1]
ksz8851snl_rx_populate_queuepbuf_alloc(length=1516)
pbuf_alloc(length=1516) == 20008BBC
ksz8851snl_rx_populate_queue: new pbuf allocated with size 1516: 0x20008BBC [pos=0]
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 c0 a8 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IAM PRINTING IN ethernet_input FUN
ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 c0 a8 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ethernet_input: dest:ff:ff:ff:ff:ff:ff, src:fc:3f:db:fb:58:8b, type:806
ETHTYPE_ARP
pbuf_remove_header: old 200097C4 new 200097D2 (14)
/* pass p to ARP module etharp_input */
acd_arp_reply()
etharp_update_arp_entry: 192.168.0.100 - fc:3f:db:fb:58:8b
etharp_find_entry: found matching entry 0
etharp_update_arp_entry: updating stable entry 0
ARP_REQUEST
etharp_input: incoming ARP request
etharp_input: ARP request was not for us.
pbuf_free(200097B4)
pbuf_free: deallocating 200097B4
sct calling h=ping_timeout t=298 arg=20005A88
ping: send
192.168.0.100
pbuf_alloc(length=40)
pbuf_alloc(length=40) == 200002E4
IAM PREPARING ping_prepare_echo static seq num=11 lwip_htons(++ping_seq_num) =2816
IAM PREPARING ping_prepare_echo static seq num=11 lwip_htons(++ping_seq_num) =2816
IAM PREPARING ping_prepare_echo static seq num=11 lwip_htons(++ping_seq_num) =2816
IAM PREPARING ping_prepare_echo static seq num=11 lwip_htons(++ping_seq_num) =2816
IAM PREPARING ping_prepare_echo static seq num=11 lwip_htons(++ping_seq_num) =2816raw_sendto
netif_is_up=1netif_is_link_up=1,ip4_addr_isany_val
FORWADING IP PACKETS for IP ADDRESS--> IP4ROUTE
ip4 route FOUND TO SEND
FINDING raw_sendto_if_src
pbuf_add_header: old 20000318 new 20000304 (20)
pbuf_remove_header: old 20000304 new 20000318 (20)
pbuf_add_header: old 20000318 new 20000304 (20)
ip4_output_if: en0
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 60 | (v, hl, tos, len)
+-------------------------------+
| 10 |000| 0 | (id, flags, offset)
+-------------------------------+
| 255 | 1 | 0x399c | (ttl, proto, chksum)
+-------------------------------+
| 192 | 168 | 0 | 102 | (src)
+-------------------------------+
| 192 | 168 | 0 | 100 | (dest)
+-------------------------------+
ip4_output_if: call netif->output()
pbuf_add_header: old 20000304 new 200002F6 (14)
ethernet_output: sending packet 200002E4
SENDING PACKET TO THE KSZ8851SNLI FILE
SENDING PACKET TO THE KSZ8851SNLI FILE
SENDING PACKET TO THE KSZ8851SNLI FILE
fc 3f db fb 58 8b 2 12 13 10 15 11 8 0 45 0 0 3c 0 a 0 0 ff 1 39 9c c0 a8 0 66 c0 a8 0 64 8 0 57 44 af af 0 b 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
ksz8851snl_low_level_output
RECIEVED PACKET FROM ethernet_output FILE address=200002E4
fc 3f db fb 58 8b 2 12 13 10 15 11 8 0 45 0 0 3c 0 a 0 0 ff 1 39 9c c0 a8 0 66 c0 a8 0 64 8 0 57 44 af af 0 b 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f ksz8851snl_low_level_output: out of free descriptor! [tail=1 head=1]
ksz8851snl_low_level_output: out of free descriptor! [tail=1 head=1]
pbuf_free(200002E4)
pbuf_free: deallocating 200002E4
sys_timeout: 2000665C abs_time=19152 handler=ping_timeout arg=20005A88
sct calling h=acd_tmr t=418 arg=300213A8
tcpip: acd_tmr()
sys_timeout: 20006670 abs_time=18263 handler=acd_tmr arg=300213A8
sct calling h=dhcp_fine_tmr t=417 arg=3002139C
tcpip: dhcp_fine_tmr()
sys_timeout: 20006684 abs_time=18252 handler=dhcp_fine_tmr arg=3002139C
IAM IN WHILE LOOP
ethernetif_input
ksz8851snl_update
IAM HANDLING RX
IAM HANDLING RX
IAM HANDLING RX
ksz8851_reg_read RX step6: get RX packet status
ksz8851_reg_read RX step7:read frame lengthksz8851snl_update: RX start packet receive len=66 [tail=1 head=1]
ksz8851_reg_clrbits=RX step9:reset RX frame pointer.
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
ksz8851_reg_setbits RX step10: start RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
Remove CRC and update pbuf length
step11-17: start FIFO read operation
IAM PRINTING FIRST 77 BYTES of RX BUFFER
0 0 0 0 0 c8 81 42 0 59 2b ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 8 8 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 58 eb 5a f1 58 eb
BUFFFER ARRAY =62
ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 8 8 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 i= 71
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
done succesfullyksz8851_fifo_read
ksz8851_reg_clrbits= RX step21:end RXQ read access
ksz8851_reg_read ksz8851_reg_setbits
ksz8851_reg_write ksz8851_reg_setbits
step22-23
ksz8851snl_low_level_inputksz8851snl_low_level_input: DMA buffer 0x200091C8 received, size=60 [tail=1 head=0]
ksz8851snl_rx_populate_queuepbuf_alloc(length=1516)
pbuf_alloc(length=1516) == 200097B4
ksz8851snl_rx_populate_queue: new pbuf allocated with size 1516: 0x200097B4 [pos=1]
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
after ksz8851snl_low_level_input
ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 8 8 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IAM PRINTING IN ethernet_input FUN
ff ff ff ff ff ff fc 3f db fb 58 8b 8 6 0 1 8 0 6 4 0 1 fc 3f db fb 58 8b c0 a8 0 64 0 0 0 0 0 0 8 8 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ethernet_input: dest:ff:ff:ff:ff:ff:ff, src:fc:3f:db:fb:58:8b, type:806
ETHTYPE_ARP
pbuf_remove_header: old 200091C8 new 200091D6 (14)
/* pass p to ARP module etharp_input */
acd_arp_reply()
etharp_update_arp_entry: 192.168.0.100 - fc:3f:db:fb:58:8b
etharp_find_entry: found matching entry 0
etharp_update_arp_entry: updating stable entry 0
ARP_REQUEST
etharp_input: incoming ARP request
etharp_input: ARP request was not for us.
pbuf_free(200091B8)
pbuf_free: deallocating 200091B8
sct calling h=dhcp_fine_tmr t=193 arg=3002139C
tcpip: dhcp_fine_tmr()
sys_timeout: 20006684 abs_time=18752 handler=dhcp_fine_tmr arg=3002139C
sct calling h=acd_tmr t=195 arg=300213A8
tcpip: acd_tmr()
sys_timeout: 20006670 abs_time=18563 handler=acd_tmr arg=300213A8
sct calling h=ip_reass_tmr t=124 arg=30021378
tcpip: ip_reass_tmr()
sys_timeout: 200066C0 abs_time=19345 handler=ip_reass_tmr arg=30021378
sct calling h=etharp_tmr t=122 arg=30021384
tcpip: etharp_tmr()
etharp_timer
sys_timeout: 200066AC abs_time=19360 handler=etharp_tmr arg=30021384