Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Figure out why the same 7 packets keep being repeated over and over again in transmit #6

Open
erikarn opened this issue Sep 26, 2019 · 0 comments

Comments

@erikarn
Copy link
Collaborator

erikarn commented Sep 26, 2019

The ka9q (and n0ary-bbs) stack handles back to back RR and REJ's very poorly.

Notably, RNR/REJ can cause inv_rex() to be called, clearing axp->unack, and thus queuing a new set of transmit attempts. If the sender sends a bunch of RR/RNR/REJ's in a burst in response to sent traffic (eg if there's no T2 timer support, or it's too short, or it's broken!) then this results in the stack making some pretty poor decisions about what to send and when.

So, whilst I'm adding T2 support for data/control paths to KA9Q, it may be interesting to track when a full burst was sent and not re-trigger it until T1 expires and/or we receive an S/I frame with an updated sequence number. That way even if T2 expires and we're ready to send some more data, we won't be sending another packet burst if we've already /sent/ a packet burst.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant