>
> the send queue leaving none for receive).  Assuming all your segments
> are full size and the same settings are used at both ends, the total
> number of segments required will be:
>
>    (TCP_WND + TCP_SND_BUF) / TCP_MSS
>
> Kieran
>


Thanks, that was it. On the host I was using iperf which used a 85K window
size by default. So now I can get past this. But unfortunately, there is
still an error, and there are two symptoms, which may be because of to 2
different problems:

1. After some random interval, a timer interrupt happens -> calls tcp_output
-> goes to this loop:
  /* useg should point to last segment on unacked queue */
  useg = pcb->unacked;
  if (useg != NULL) {
    for (; useg->next != NULL; useg = useg->next);
  }

This loop happens to be circular! Should I assume that I'm calling some lwip
tcp function from a context that has not been properly guarded with mutexes?

2. The second issue that I see (if I don't run into issue 1), is that the TX
performance keeps dropping slowly. Over 10 minutes it drops about 10 Mbps or
so..starting from lets say 55 Mbps to 45 Mbps, and continuing to drop. Any
suggestions on what to look for here? Could it be that my timer interval is
not quite right?

Thanks,
-Siva
_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to