26 lines
564 B
Bash
Executable File
26 lines
564 B
Bash
Executable File
#!/bin/bash
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
# Copyright (c) 2022 Meta Platforms, Inc. and affiliates.
|
|
|
|
NS='stress_reuseport_listen_ns'
|
|
NR_FILES=24100
|
|
SAVED_NR_FILES=$(ulimit -n)
|
|
|
|
setup() {
|
|
ip netns add $NS
|
|
ip netns exec $NS sysctl -q -w net.ipv6.ip_nonlocal_bind=1
|
|
ulimit -n $NR_FILES
|
|
}
|
|
|
|
cleanup() {
|
|
ip netns del $NS
|
|
ulimit -n $SAVED_NR_FILES
|
|
}
|
|
|
|
trap cleanup EXIT
|
|
setup
|
|
# 300 different vips listen on port 443
|
|
# Each vip:443 sockaddr has 80 LISTEN sock by using SO_REUSEPORT
|
|
# Total 24000 listening socks
|
|
ip netns exec $NS ./stress_reuseport_listen 300 80
|