1#!/bin/sh
2# SPDX-License-Identifier: GPL-2.0
3#
4# Run a couple of IP defragmentation tests.
5
6set +x
7set -e
8
9readonly NETNS="ns-$(mktemp -u XXXXXX)"
10
11setup() {
12	ip netns add "${NETNS}"
13	ip -netns "${NETNS}" link set lo up
14	ip netns exec "${NETNS}" sysctl -w net.ipv4.ipfrag_high_thresh=9000000 >/dev/null 2>&1
15	ip netns exec "${NETNS}" sysctl -w net.ipv4.ipfrag_low_thresh=7000000 >/dev/null 2>&1
16	ip netns exec "${NETNS}" sysctl -w net.ipv6.ip6frag_high_thresh=9000000 >/dev/null 2>&1
17	ip netns exec "${NETNS}" sysctl -w net.ipv6.ip6frag_low_thresh=7000000 >/dev/null 2>&1
18}
19
20cleanup() {
21	ip netns del "${NETNS}"
22}
23
24trap cleanup EXIT
25setup
26
27echo "ipv4 defrag"
28ip netns exec "${NETNS}" ./ip_defrag -4
29
30
31echo "ipv4 defrag with overlaps"
32ip netns exec "${NETNS}" ./ip_defrag -4o
33
34echo "ipv6 defrag"
35ip netns exec "${NETNS}" ./ip_defrag -6
36
37echo "ipv6 defrag with overlaps"
38ip netns exec "${NETNS}" ./ip_defrag -6o
39
40