1*ec8cb4f6SMartin KaFai Lau#!/bin/bash 2*ec8cb4f6SMartin KaFai Lau# SPDX-License-Identifier: GPL-2.0 3*ec8cb4f6SMartin KaFai Lau# Copyright (c) 2022 Meta Platforms, Inc. and affiliates. 4*ec8cb4f6SMartin KaFai Lau 5*ec8cb4f6SMartin KaFai LauNS='stress_reuseport_listen_ns' 6*ec8cb4f6SMartin KaFai LauNR_FILES=24100 7*ec8cb4f6SMartin KaFai LauSAVED_NR_FILES=$(ulimit -n) 8*ec8cb4f6SMartin KaFai Lau 9*ec8cb4f6SMartin KaFai Lausetup() { 10*ec8cb4f6SMartin KaFai Lau ip netns add $NS 11*ec8cb4f6SMartin KaFai Lau ip netns exec $NS sysctl -q -w net.ipv6.ip_nonlocal_bind=1 12*ec8cb4f6SMartin KaFai Lau ulimit -n $NR_FILES 13*ec8cb4f6SMartin KaFai Lau} 14*ec8cb4f6SMartin KaFai Lau 15*ec8cb4f6SMartin KaFai Laucleanup() { 16*ec8cb4f6SMartin KaFai Lau ip netns del $NS 17*ec8cb4f6SMartin KaFai Lau ulimit -n $SAVED_NR_FILES 18*ec8cb4f6SMartin KaFai Lau} 19*ec8cb4f6SMartin KaFai Lau 20*ec8cb4f6SMartin KaFai Lautrap cleanup EXIT 21*ec8cb4f6SMartin KaFai Lausetup 22*ec8cb4f6SMartin KaFai Lau# 300 different vips listen on port 443 23*ec8cb4f6SMartin KaFai Lau# Each vip:443 sockaddr has 80 LISTEN sock by using SO_REUSEPORT 24*ec8cb4f6SMartin KaFai Lau# Total 24000 listening socks 25*ec8cb4f6SMartin KaFai Lauip netns exec $NS ./stress_reuseport_listen 300 80 26