Here are two pactches that I am using currently. I sent it here if that can
help someone.
With them, is gone away something wich caused REJ packets and a lot of
retransmissions.
But behind there is maybe a problem with the REJ procedure, wich still
sometimes produce usefullness retransmission. So the real solution will be
maybe to "cure" that.
1) Forget the patch I sent last week for ax25_timer.c.
2) Go to /usr/src/linux/net/ax25
3) Do backups of originals ax25_in.c and ax25_out.c
4) Apply this patches, with "patch < file_name_of_the_patch"
Patch for ax25_out.c : Removes poll in last I frame
---------------------------8<-------Cut here -------------------------------
--- ax25_out.c Mon Jan 18 18:01:29 1999
+++ ax25_out.c Mon Jan 18 18:02:44 1999
@@ -213,9 +213,9 @@
* Transmit the frame copy.
* bke 960114: do not set the Poll bit on the last frame
* in DAMA mode.
*/
- ax25_send_iframe(ax25, skbn, (last && !ax25->dama_slave) ?
AX25_POLLON : AX25_POLLOFF);
+ ax25_send_iframe(ax25, skbn, AX25_POLLOFF);
ax25->vs = next;
/*
---------------------------8<------------------------------------------------
Patch for ax25_in.c : Removes piggy-backing in recovery state
---------------------------8<------------------------------------------------
--- ax25_in.c Mon May 10 15:08:39 1999
+++ ax25_in.c Mon May 10 15:08:39 1999
@@ -541,21 +541,21 @@
ax25->state = AX25_STATE_1;
}
break;
case AX25_I:
if (!ax25_validate_nr(ax25, nr)) {
ax25_nr_error_recovery(ax25);
ax25->state = AX25_STATE_1;
break;
}
- ax25_frames_acked(ax25, nr);
+/* ax25_frames_acked(ax25, nr); */
if (ax25->condition & AX25_COND_OWN_RX_BUSY) {
if (pf) {
if (ax25->dama_slave)
ax25_enquiry_response(ax25);
else
dama_enquiry_response(ax25);
}
break;
}
if (ns == ax25->vr) {
----------------------------------8<---------------------------------------
5) Tell me if you notice that goes better !
6) Here in tcp/ip mode using connected mode, I see a good improvement.
--
Saludos de Julián
-.-