Hi Simon,

another thought ... we're concentrating on the PPP routines now, but it's 
confirmed that pppifOutput is called only 2 times (to send the first 2 1024 
bytes segments).

But if pppifOutput itself is called only 2 times from the tcp_out ... isn't 
that more a thing to concentrate on the TCP side? We're out of the 
responsibility of the PPP routines at this point.

Is there any internal "time-to-live" for a fragment which might kick in if the 
output won't happen within a specific time?


Inserting this debug output in tcp_out.c after line 920:

  wnd = LWIP_MIN(pcb->snd_wnd, pcb->cwnd);

for (seg = pcb->unsent; seg != NULL; seg = seg->next, i++)
  {
     LWIP_PLATFORM_DIAG (("unsentq Seg:%hu Len:%hu\n", i, seg->len));
  }
 i = 0;


gives me this fir the 2x1400 bytes packets to be sent:


unsentq Seg:0 Len:1024<LF>
unsentq Seg:1 Len:376<LF>
unsentq Seg:0 Len:1024<LF>


At least 376 bytes are still missing at this point. The final wireshark output 
gives me 2 packets with 1024 bytes each,  because it's "naggled" later ...


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

Reply via email to