mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-25 12:04:46 +08:00
02c7f38b7a
This test creates a raw IPv4 socket, fragments a largish UDP datagram and sends the fragments out of order. Then repeats in a loop with different message and fragment lengths. Then does the same with overlapping fragments (with overlapping fragments the expectation is that the recv times out). Tested: root@<host># time ./ip_defrag.sh ipv4 defrag PASS ipv4 defrag with overlaps PASS real 1m7.679s user 0m0.628s sys 0m2.242s A similar test for IPv6 is to follow. Signed-off-by: Peter Oskolkov <posk@google.com> Reviewed-by: Willem de Bruijn <willemb@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
29 lines
537 B
Bash
Executable File
29 lines
537 B
Bash
Executable File
#!/bin/sh
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Run a couple of IP defragmentation tests.
|
|
|
|
set +x
|
|
set -e
|
|
|
|
echo "ipv4 defrag"
|
|
|
|
run_v4() {
|
|
sysctl -w net.ipv4.ipfrag_high_thresh=9000000 &> /dev/null
|
|
sysctl -w net.ipv4.ipfrag_low_thresh=7000000 &> /dev/null
|
|
./ip_defrag -4
|
|
}
|
|
export -f run_v4
|
|
|
|
./in_netns.sh "run_v4"
|
|
|
|
echo "ipv4 defrag with overlaps"
|
|
run_v4o() {
|
|
sysctl -w net.ipv4.ipfrag_high_thresh=9000000 &> /dev/null
|
|
sysctl -w net.ipv4.ipfrag_low_thresh=7000000 &> /dev/null
|
|
./ip_defrag -4o
|
|
}
|
|
export -f run_v4o
|
|
|
|
./in_netns.sh "run_v4o"
|