lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] LWIP RAW API tcpip_callback()


From: Werner Motz
Subject: Re: [lwip-users] LWIP RAW API tcpip_callback()
Date: Wed, 17 May 2017 11:05:25 +0200

Thank you very much for your answers.
It finally (partly) works now :)
I had a priority problem in my freertos which made the lwip init task
call too late.
I am able to send data outside of the lwip thread now.
I am still worried because in my stats I see the following problems/errors:

Link
Xmit            22220
RECV            9841
FW              0
DROP            1230
CHKERR  0
LENERR  0
MEMERR  0
RTERR           0
PROTERR 0
OPTERR  0
ERR             1230
CACHEHIT        0

TCP
XMIT            22218
RECV            9832
FW              0
DROP            0
CHKERR  0
LENERR  0
MEMERR  411
RTERR           0
PROTERR 0
OPTERR  0
ERR             0
CACHEHIT        9831

MEM
ERR             411
AVAIL           8192
USED            0
MAX             7828
ILLEGAL 0

Right now I send every 3ms 1000 bytes. I wounder why I drop packets. 

#define TCP_MSS                                 1460
#define TCP_SND_BUF                             16 * TCP_MSS   
#define TCP_SND_QUEUELEN                48
#define TCP_WND                         4 * TCP_MSS
#define MEM_SIZE                                8 * 1024
#define MEMP_NUM_PBUF                   6
#define PBUF_POOL_SIZE                  8
#define PBUF_POOL_BUFSIZE       2048

Could these errors occure because I call 'tcp_active_pcbs' or is it maybe a
problem of my settings?
I am always looking forward to constructive comments :)
____________________________________________________________________________
___



> ---> passing tcp_active_pcbs is not necessary because as u already
> mentioned, I could call it everywhere. I just tried to give a 
> parameter to the callback function.

The usage of tcpip_callback should be OK.

> ---> Obviously it is not good / right to call macros and functions 
> ---> from
> there. Could you mention another way where to get the active pcbs from 
> outside the lwip thread?

There is absolutely *no* need to get the active pcbs! An application should
work on its own pcb, not on all active pcbs!

I can only repeat myself:
- regarding C knowledge, this is off-topic here. You might have noticed
noone but Dirk and me answered...
- regarding lwIP: I don't think such a stack is a good project to start with
C, but if you insist: try reading other applications to see how the stack is
being used.
> ---> You are wrong! Lwip_init() has been called before. If you would 
> ---> have
> read my message you would know that I am able to establish a 
> connection and receive data via recv callback.

What makes you think I haven't read your message? I can imagine bogus
configuration/usage scenarios where connect/recv works without the
tcpip_thread mbox allocated.

> [..] and going
> to cancel my address from the mail list.

Oh, in that case, maybe I should not have answered... Well...

Cheers,
Simon

_______________________________________________
lwip-users mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/lwip-users




reply via email to

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