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
-.-

Reply via email to