Back to home page

OSCL-LXR

 
 

    


0001 #!/bin/bash
0002 # SPDX-License-Identifier: GPL-2.0
0003 #
0004 # Run tests when all ephemeral ports are exhausted.
0005 #
0006 # Author: Kuniyuki Iwashima <kuniyu@amazon.co.jp>
0007 
0008 set +x
0009 set -e
0010 
0011 readonly NETNS="ns-$(mktemp -u XXXXXX)"
0012 
0013 setup() {
0014         ip netns add "${NETNS}"
0015         ip -netns "${NETNS}" link set lo up
0016         ip netns exec "${NETNS}" \
0017                 sysctl -w net.ipv4.ip_local_port_range="32768 32768" \
0018                 > /dev/null 2>&1
0019         ip netns exec "${NETNS}" \
0020                 sysctl -w net.ipv4.ip_autobind_reuse=1 > /dev/null 2>&1
0021 }
0022 
0023 cleanup() {
0024         ip netns del "${NETNS}"
0025 }
0026 
0027 trap cleanup EXIT
0028 setup
0029 
0030 do_test() {
0031         ip netns exec "${NETNS}" ./reuseaddr_ports_exhausted
0032 }
0033 
0034 do_test
0035 echo "tests done"