Skip to content
This repository has been archived by the owner on Jun 20, 2024. It is now read-only.

Commit

Permalink
add test for PMTU discovery and packet fragmentation
Browse files Browse the repository at this point in the history
  • Loading branch information
rade committed Jul 30, 2015
1 parent f8327c3 commit 1aaeabf
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 6 deletions.
6 changes: 0 additions & 6 deletions test/100_cross_hosts_2_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,4 @@ start_container $HOST2 net:$SUBNET_2 --name=c6
C6=$(container_ip $HOST2 c6)
assert_raises "exec_on $HOST1 c5 $PING $C6"

# check large packets get through. The first attempt typically fails,
# since the PMTU hasn't been discovered yet. The 2nd attempt should
# succeed.
exec_on $HOST1 c1 $PING -s 65000 $C2 2>&1 1>/dev/null || true
assert_raises "exec_on $HOST1 c1 $PING -s 65000 $C2"

end_suite
30 changes: 30 additions & 0 deletions test/105_frag_2_test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#! /bin/bash

. ./config.sh

# 700 = Linux's minimum PMTU (552) + weave framing overheads
# (currently about 60, but we leave some margin). That way the PMTUs
# seen by containers is still >= 552.
drop_large_udp_packets="FORWARD -p udp --destination-port 6783 -m length '!' --length 0:700 -j DROP"

start_suite "PMTU discovery and packet fragmentation"

run_on $HOST2 "sudo iptables -I $drop_large_udp_packets"

weave_on $HOST1 launch
weave_on $HOST2 launch $HOST1

start_container $HOST1 --name=c1
start_container $HOST2 --name=c2

sleep 30 # give weave time to discover the PMTU

# Check large packets get through. The first attempt typically fails,
# since the sending container hasn't discovered the PMTU yet. The 2nd
# attempt should succeed.
exec_on $HOST2 c2 $PING -s 10000 c1 2>&1 1>/dev/null || true
assert_raises "exec_on $HOST2 c2 $PING -s 10000 c1"

run_on $HOST2 "sudo iptables -D $drop_large_udp_packets"

end_suite

0 comments on commit 1aaeabf

Please sign in to comment.