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

RF Pipe tx datarate not enforced under certain load conditions #40

Closed
sgalgano opened this issue Dec 4, 2015 · 2 comments
Closed

RF Pipe tx datarate not enforced under certain load conditions #40

sgalgano opened this issue Dec 4, 2015 · 2 comments
Assignees
Labels

Comments

@sgalgano
Copy link
Member

sgalgano commented Dec 4, 2015

Under high traffic load and certain data rate configurations, when down stream traffic arrives it is possible for the packet queue to be empty but the previous packet end-of-transmission (EOT) time to still be in the future. Failure to check for that condition leads to immediate transmission of the newly arrived packet instead of waiting for EOT.

Found during regression testing and re-verified with iperf.

@sgalgano
Copy link
Member Author

sgalgano commented Dec 4, 2015

This bug affects the develop branch.

@sgalgano sgalgano added the bug label Dec 4, 2015
@sgalgano sgalgano self-assigned this Dec 4, 2015
sgalgano added a commit that referenced this issue Dec 4, 2015
downstream traffic arrives it is possible for the packet queue to be
empty but the previous packet end-of-transmission (EOT) time to still
be in the future. Failure to check for that condition leads to
immediate transmission of the newly arrived packet instead of waiting
for EOT.

Additional code was added to processDownstreamPacket() to test for a
currentEndOfTransmissionTime_ in the future in order to determine if a
callback should be scheduled or if the newly arrived packet can be
immediately sent.

Additional code was added to handleDownstreamQueueEntry() to engage
transmission logic even if the scheduled handler had been short
circuited as long as there exists a packet to transmit in the queue
and currentEndOfTransmissionTime_ has past.

Configurable jitter and fixed delay logic was modified to apply the
values when figuring out currentEndOfTransmissionTime_ for the
purposes of determining the earliest possible time another packet may
be transmitted.

See #40
@sgalgano sgalgano mentioned this issue Dec 4, 2015
@sgalgano
Copy link
Member Author

sgalgano commented Dec 9, 2015

See #42

@sgalgano sgalgano closed this as completed Dec 9, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant