[go: nahoru, domu]

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

Change or document the 100% reliability of control (0-length) packets #2517

Open
stevenengler opened this issue Nov 2, 2022 · 1 comment
Labels
Component: Documentation In-repository documentation, under docs/ Type: Enhancement New functionality or improved design

Comments

@stevenengler
Copy link
Contributor
stevenengler commented Nov 2, 2022

I know this is just ported over from the C code, but I wonder if we should do something about this at some point. For someone using Shadow to model a lossy network, having 0-length-payload packets be 100% reliable doesn't seem right.

Maybe open an issue to revisit and leave a link here? Or update the comment to be more clear about whether this is/isn't actually a bug in shadow?

Originally posted by @sporksmith in #2516 (comment)

  1. What's the reason for having 100% reliability of control packets?
  2. What happens if we don't include this code?
  3. This is also affecting 0-length UDP packets. Should we change this?
@robgjansen
Copy link
Member

Note that the 100% reliability of control packets only applies to network graphs links that set a positive packet loss rate. In other words, no matter what you set as the packet loss rate, control packets are not dropped at the packet loss application step. This was added because I don't think we are correctly retransmitting control packets (I think maybe because the retransmission algorithm works on sequence numbers and control packets don't have sequence numbers).

HOWEVER, the router+CoDel algorithm step does drop packets independent of their length or packet type.

Ideally we should remove these hacky work-arounds and fix the underlying retransmission bugs.

@stevenengler stevenengler added Type: Enhancement New functionality or improved design Component: Documentation In-repository documentation, under docs/ labels Feb 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Documentation In-repository documentation, under docs/ Type: Enhancement New functionality or improved design
Projects
None yet
Development

No branches or pull requests

2 participants