forked from dcaratti/packetdrill
-
Notifications
You must be signed in to change notification settings - Fork 16
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
Sync with upstream and include Florian's fix #27
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
To deal with non-responsive tests, the run_all.py script kills all subprocesses running these tests after the timeout limit. However, these subprocesses may have existed. Then, the proc.kill() command can crash the test pipeline. This commit applies an exception handling to catch errors when killing test subprocesses. When the above case happens, the script outputs an error message to stderr instead of throwing an error. Signed-off-by: Jianfeng Wang <[email protected]>
With the current 120-second timeout limit, some tests fail only because the packetdrill test suite doesn't wait enough time for them to finish. The actual failure pattern may depend on the machine spec and tests' timing at runtime. This commit increases the total timeout limit by 60 seconds. Tested with a GCP n1-standard-4 Ubuntu 16.04 VM (kernel version 5.8.0) without any failed tests. Signed-off-by: Jianfeng Wang <[email protected]>
The two mtu_probe tests use self-defined IP addresses for remote_ip and gateway_ip. The self-defined IP addresses will not take any effects because the packetdrill run_all.py script enforces local_ip, remote_ip, and gateway_ip when running tests. Specified with command line arguments, these IP addresses take precedence over self-defined IP addresses. This breaks the two mtu_probe tests because packets do not match any IP routes in the static IP route table. Thus, TCP does not fragment packets as expected by the tests. This commit changes the IP addresses in the two mtu_probe tests to match those specified in the run_all.py script. Tested with a GCP n1-standard-4 Ubuntu 16.04 VM (kernel version 5.8.0) without any failed tests. Signed-off-by: Jianfeng Wang <[email protected]>
In the "How To Get Started with packetdrill" section, there was a bug in the suggested command line that ran all .pkt scripts, including some self-tests that were intended to fail. This commit fixes that, in order to only run the tests in the tcp/ directory, which are expected to pass on recent Linux kernels. Signed-off-by: Neal Cardwell <[email protected]>
When compiling with GCC 10.2 under Fedora 32 compilation failed with a bunch of messages like /usr/bin/ld: tcp_packet.o:/tmp/packetdrill/gtests/net/packetdrill/tcp_options.h:108: multiple definition of `tcp_option'; packet_to_string.o:/tmp/packetdrill/gtests/net/packetdrill/tcp_options.h:108: first defined here ... collect2: error: ld returned 1 exit status make: *** [Makefile.common:37: packetdrill] Error 1 This is due to GCC 10 defaulting[0] to -fno-common and because tcp_option is both defined and declared in tcp_option.h. Simply removing the declaration part fixes the compilation. [0]: https://gcc.gnu.org/gcc-10/porting_to.html Signed-off-by: Andrew Clayton <[email protected]>
Makes no difference for upstream packetdrill, but this makes the mptcp-fork 'join' tests work when run from the run_all script. The mp_join tests add a secondary ip address. Without the netmask the kernel can't find a route for the syn/ack packet and the tcp syn carrying the join request never gets a response. The netmasks are the ones used in the two DEFAULT_V{4,6}_LIVE_REMOTE_IP_STRING defines. The basic-v{4,6} test cases are adjusted to add a host-specific route, rather than attempt to change a (now no longer existing) entry. Signed-off-by: Florian Westphal <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
…upstream Signed-off-by: Matthieu Baerts <[email protected]>
In our fork, we switched to Python 3, see: af579c3 ("run_all.py: convert to python3") Fixes: 16f99aa ("packetdrill: run_all: catch errors when killing test processes") Signed-off-by: Matthieu Baerts <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a sync with upstream and it includes Florian patch: google#48
No conflicts were detected by Git.