[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-users] lwIP RAW - Low throughput during first few seconds
From: |
Nenad Pekez |
Subject: |
Re: [lwip-users] lwIP RAW - Low throughput during first few seconds |
Date: |
Fri, 29 Jun 2018 15:05:00 +0200 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 |
Hi Sergio,
if you are using NO_SYS=1
yes, I am using NO_SYS=1.
there must be a main loop calling sys_check_timeouts()
my main loop (provided by Xilinx XAPP1026):
/* receive and process packets */
while (1) {
if (TcpFastTmrFlag) {
tcp_fasttmr();
TcpFastTmrFlag = 0;
}
if (TcpSlowTmrFlag) {
tcp_slowtmr();
TcpSlowTmrFlag = 0;
}
xemacif_input(netif);
}
sys_check_timeouts() cannot be used because LWIP_TIMERS are not used.
Zynq timers are used instead.
not polling the receiver frequently enough
I am not using poll callback if that has to do something with this.
You should check if your frames carrying your TCP SYNs are being
delivered or get lost in the driver.
If you have time, please take a look at description of the connection
timeout problem I posted at Xilinx forum:
https://forums.xilinx.com/t5/Embedded-Processor-System-Design/Zynq-7000-LwIP-2-0-2-Connection-timeout/td-p/869319
There I have described what is happening with TCP_SYN packets (I looked
at Lwip TCP and IP debug prints). All in all, Zynq gets the SYN packet
which is forwarded to IP and TCP layers. Response is carried out , i.e.
"ip4_output_if: call netif->output()" is printed, however no message is
actually sent out back to PC (I verified this with Wireshark). This
seems like drivers issue, doesn't it?
Thank you for your response,
I am still going deeper into this problem....
Nenad