Merge pull request #1926 from weaveworks/issues/1905-fix-negative-fragment
Negative fragment fix Fixes #1905.
This commit is contained in:
commit
4649f1158a
2 files changed
+7
-4
No files matched your search
+1
-1
@@ -917,7 +917,7 @@ func (fwd *sleeveForwarder) processSendError(err error) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
fwd.mtuHighestGood = 8
|
||||
fwd.mtuHighestGood = 552
|
||||
fwd.mtuLowestBad = mtu + 1
|
||||
fwd.mtuCandidate = mtu
|
||||
fwd.mtuTestsSent = 0
|
||||
|
||||
@@ -8,7 +8,8 @@ C2=10.2.1.71
|
||||
# 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"
|
||||
drop_large_sleeve_packets="INPUT -p udp --destination-port 6783 -m length '!' --length 0:700 -j DROP"
|
||||
drop_large_fastdp_packets="INPUT -p udp --destination-port 6784 -m length '!' --length 0:700 -j DROP"
|
||||
|
||||
start_suite "PMTU discovery and packet fragmentation"
|
||||
|
||||
@@ -18,7 +19,8 @@ weave_on $HOST2 launch
|
||||
start_container $HOST1 $C1/24 --name=c1
|
||||
start_container $HOST2 $C2/24 --name=c2
|
||||
|
||||
run_on $HOST2 "sudo iptables -I $drop_large_udp_packets"
|
||||
run_on $HOST1 "sudo iptables -I $drop_large_sleeve_packets"
|
||||
run_on $HOST1 "sudo iptables -I $drop_large_fastdp_packets"
|
||||
assert_raises "weave_on $HOST2 connect $HOST1"
|
||||
sleep 35 # give weave time to discover the PMTU
|
||||
|
||||
@@ -28,6 +30,7 @@ sleep 35 # give weave time to discover the PMTU
|
||||
exec_on $HOST2 c2 $PING -s 10000 $C1 1>/dev/null 2>&1 || true
|
||||
assert_raises "exec_on $HOST2 c2 $PING -s 10000 $C1"
|
||||
|
||||
run_on $HOST2 "sudo iptables -D $drop_large_udp_packets"
|
||||
run_on $HOST1 "sudo iptables -D $drop_large_fastdp_packets"
|
||||
run_on $HOST1 "sudo iptables -D $drop_large_sleeve_packets"
|
||||
|
||||
end_suite
|
||||
Reference in new issue
Block a user