user505160
user505160

Reputation: 1216

LwIP error ip_reass_tmr() getting

I am trying to run LwIP on stm32f407 discovery (ethernet expansion / RMII) and my debug output of LwIP is showing:

netif_set_ipaddr: netif address being changed
netif: IP address of interface  set to 192.168.1.4
netif: netmask of interface  set to 255.255.255.0
netif: GW address of interface  set to 0.0.0.0
stmf calling h=ip_reass_timer arg=0
tcpip: ip_reass_tmr()
sys_timeout: 0x20000bcc msecs=1000 handler=ip_reass_timer arg=0
stmf calling h=ip_reass_timer arg=0
tcpip: ip_reass_tmr()
sys_timeout: 0x20000bcc msecs=1000 handler=ip_reass_timer arg=0
stmf calling h=ip_reass_timer arg=0
tcpip: ip_reass_tmr()
sys_timeout: 0x20000bcc msecs=1000 handler=ip_reass_timer arg=0
stmf calling h=ip_reass_timer arg=0
tcpip: ip_reass_tmr()
sys_timeout: 0x20000bcc msecs=1000 handler=ip_reass_timer arg=0
stmf calling h=arp_timer arg=0
tcpip: etharp_tmr()
etharp_timer
sys_timeout: 0x20000bb8 msecs=5000 handler=arp_timer arg=0
stmf calling h=ip_reass_timer arg=0
tcpip: ip_reass_tmr()
sys_timeout: 0x20000bcc msecs=1000 handler=ip_reass_timer arg=0
stmf calling h=ip_reass_timer arg=0
tcpip: ip_reass_tmr()
sys_timeout: 0x20000bcc msecs=1000 handler=ip_reass_timer arg=0
stmf calling h=ip_reass_timer arg=0
tcpip: ip_reass_tmr()
sys_timeout: 0x20000bcc msecs=1000 handler=ip_reass_timer arg=0
stmf calling h=ip_reass_timer arg=0
tcpip: ip_reass_tmr()
sys_timeout: 0x20000bcc msecs=1000 handler=ip_reass_timer arg=0
stmf calling h=ip_reass_timer arg=0
tcpip: ip_reass_tmr()
sys_timeout: 0x20000bcc msecs=1000 handler=ip_reass_timer arg=0

Could some please tell what is going on, why does sys_timeout runs and what ip_reass_tmr() is used for. What could be possible error generating this kind of output?

Upvotes: 0

Views: 536

Answers (1)

nos
nos

Reputation: 229204

There's nothing(1) in your output that indicates there's anything wrong or any errors.

This is simply debug output, caused by you having defined , TIMERS_DEBUG ETHARP_DEBUG and possibly others from lwip/opt.h , in addition to globally enabling debug printouts via LWIP_DEBUG from lwip/debug.h

sys_timeout() is a function for handling timers. A TCP/IP stack needs various timers, e.g. to timeout waiting for IP fragments, timeout ARP entries, transmit/re-transmit TCP segments and ACKs, etc.

ip_reass_tmr() is called periodically to discard old IP fragments, where not all IP fragments are received (The timer is called periodically even if there's nothing to do - as long as you've enabled the IP_REASSEMBLY option for the lwip stack).

(1) Except perhaps you've configured a default GW of 0.0.0.0 - which means your stack will only be able to communicate with devices on the local subnet, and not to any devices outside your 192.168.1.4/24 subnet.

Upvotes: 1

Related Questions