Server IP : 15.235.198.142 / Your IP : 216.73.216.190 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/src/linux-headers-6.8.0-60/tools/testing/selftests/net/ |
Upload File : |
#!/bin/bash # SPDX-License-Identifier: GPL-2.0 # # Run a series of packet socket send regression tests set -e readonly mtu=1500 readonly iphlen=20 readonly udphlen=8 readonly vnet_hlen=10 readonly eth_hlen=14 readonly mss="$((${mtu} - ${iphlen} - ${udphlen}))" readonly mss_exceeds="$((${mss} + 1))" readonly max_mtu=65535 readonly max_mss="$((${max_mtu} - ${iphlen} - ${udphlen}))" readonly max_mss_exceeds="$((${max_mss} + 1))" # functional checks (not a full cross-product) echo "dgram" ./in_netns.sh ./psock_snd -d echo "dgram bind" ./in_netns.sh ./psock_snd -d -b echo "raw" ./in_netns.sh ./psock_snd echo "raw bind" ./in_netns.sh ./psock_snd -b echo "raw qdisc bypass" ./in_netns.sh ./psock_snd -q echo "raw vlan" ./in_netns.sh ./psock_snd -V echo "raw vnet hdr" ./in_netns.sh ./psock_snd -v echo "raw csum_off" ./in_netns.sh ./psock_snd -v -c echo "raw csum_off with bad offset (expected to fail)" (! ./in_netns.sh ./psock_snd -v -c -C) # bounds check: send {max, max + 1, min, min - 1} lengths echo "raw min size" ./in_netns.sh ./psock_snd -l 0 echo "raw mtu size" ./in_netns.sh ./psock_snd -l "${mss}" echo "raw mtu size + 1 (expected to fail)" (! ./in_netns.sh ./psock_snd -l "${mss_exceeds}") # fails due to ARPHRD_ETHER check in packet_extra_vlan_len_allowed # # echo "raw vlan mtu size" # ./in_netns.sh ./psock_snd -V -l "${mss}" echo "raw vlan mtu size + 1 (expected to fail)" (! ./in_netns.sh ./psock_snd -V -l "${mss_exceeds}") echo "dgram mtu size" ./in_netns.sh ./psock_snd -d -l "${mss}" echo "dgram mtu size + 1 (expected to fail)" (! ./in_netns.sh ./psock_snd -d -l "${mss_exceeds}") echo "raw truncate hlen (expected to fail: does not arrive)" (! ./in_netns.sh ./psock_snd -t "$((${vnet_hlen} + ${eth_hlen}))") echo "raw truncate hlen - 1 (expected to fail: EINVAL)" (! ./in_netns.sh ./psock_snd -t "$((${vnet_hlen} + ${eth_hlen} - 1))") # gso checks: implies -l, because with gso len must exceed gso_size echo "raw gso min size" ./in_netns.sh ./psock_snd -v -c -g -l "${mss_exceeds}" echo "raw gso max size" ./in_netns.sh ./psock_snd -v -c -g -l "${max_mss}" echo "raw gso max size + 1 (expected to fail)" (! ./in_netns.sh ./psock_snd -v -c -g -l "${max_mss_exceeds}") echo "OK. All tests passed"