| #!/bin/bash -e |
| # SPDX-License-Identifier: GPL-2.0 |
| # |
| # This test checks that the network buffer sysctls are present |
| # in a network namespaces, and that they are readonly. |
| |
| source lib.sh |
| |
| cleanup() { |
| cleanup_ns $test_ns |
| } |
| |
| trap cleanup EXIT |
| |
| fail() { |
| echo "ERROR: $*" >&2 |
| exit 1 |
| } |
| |
| setup_ns test_ns |
| |
| for sc in {r,w}mem_{default,max}; do |
| # check that this is writable in a netns |
| [ -w "/proc/sys/net/core/$sc" ] || |
| fail "$sc isn't writable in the init netns!" |
| |
| # change the value in the host netns |
| sysctl -qw "net.core.$sc=300000" || |
| fail "Can't write $sc in init netns!" |
| |
| # check that the value is read from the init netns |
| [ "$(ip netns exec $test_ns sysctl -n "net.core.$sc")" -eq 300000 ] || |
| fail "Value for $sc mismatch!" |
| |
| # check that this isn't writable in a netns |
| ip netns exec $test_ns [ -w "/proc/sys/net/core/$sc" ] && |
| fail "$sc is writable in a netns!" |
| done |
| |
| echo 'Test passed OK' |