Hi guys,

I'm experimenting with lwip in linux environment with pcap library. I added socket API applications to my program. I wonder what role tcpip_thread does in my environment.

I configured the following three options as below and lwip is initialized with tcpip_init().

#define NO_SYS                                        0
#define LWIP_TCPIP_CORE_LOCKING     1
#define LWIP_SOCKET                             1

The application structure is similar to the below diagram except for "Ethernet ISR". "Network Interface Task" waits for network frames from pcap library.

lwip-operation-model-with-RTOS-from-ST.png

Application is using socket APIs and it's communicating with lwip via mbox defined for linux environment. But I found that "Network Interface Task" process TCP level jobs and it interacts with socket application. mbox(static sys_mbox_t tcpip_mbox) in tcpip_thread is not used at all. Even when I commented out the line where tcpip_thread is created, lwip with socket applications works fine.

// sys_thread_new(TCPIP_THREAD_NAME, tcpip_thread, NULL, TCPIP_THREAD_STACKSIZE, TCPIP_THREAD_PRIO);

Am I missing something? What is the role of tcpip thread in this environment?

Thanks guys.
Kyle

_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to