drm/tests: hdmi: Fix memory leaks in drm_display_mode_from_cea_vic()
[drm/drm-misc.git] / samples / bpf / test_cgrp2_sock2.sh
blob82acff93d73975ceac33ea953425677d2d825580
1 #!/bin/bash
2 # SPDX-License-Identifier: GPL-2.0
4 BPFFS=/sys/fs/bpf
5 MY_DIR=$(dirname $0)
6 TEST=$MY_DIR/test_cgrp2_sock2
7 LINK_PIN=$BPFFS/test_cgrp2_sock2
8 BPF_PROG=$MY_DIR/sock_flags.bpf.o
10 function config_device {
11 ip netns add at_ns0
12 ip link add veth0 type veth peer name veth0b
13 ip link set veth0 netns at_ns0
14 ip netns exec at_ns0 sysctl -q net.ipv6.conf.veth0.disable_ipv6=0
15 ip netns exec at_ns0 ip addr add 172.16.1.100/24 dev veth0
16 ip netns exec at_ns0 ip addr add 2401:db00::1/64 dev veth0 nodad
17 ip netns exec at_ns0 ip link set dev veth0 up
18 sysctl -q net.ipv6.conf.veth0b.disable_ipv6=0
19 ip addr add 172.16.1.101/24 dev veth0b
20 ip addr add 2401:db00::2/64 dev veth0b nodad
21 ip link set veth0b up
24 function config_cgroup {
25 rm -rf /tmp/cgroupv2
26 mkdir -p /tmp/cgroupv2
27 mount -t cgroup2 none /tmp/cgroupv2
28 mkdir -p /tmp/cgroupv2/foo
29 echo $$ >> /tmp/cgroupv2/foo/cgroup.procs
32 function config_bpffs {
33 if mount | grep $BPFFS > /dev/null; then
34 echo "bpffs already mounted"
35 else
36 echo "bpffs not mounted. Mounting..."
37 mount -t bpf none $BPFFS
41 function attach_bpf {
42 $TEST /tmp/cgroupv2/foo $BPF_PROG $1
43 [ $? -ne 0 ] && exit 1
46 function cleanup {
47 rm -rf $LINK_PIN
48 ip link del veth0b
49 ip netns delete at_ns0
50 umount /tmp/cgroupv2
51 rm -rf /tmp/cgroupv2
54 cleanup 2>/dev/null
56 set -e
57 config_device
58 config_cgroup
59 config_bpffs
60 set +e
63 # Test 1 - fail ping6
65 attach_bpf 0
66 ping -c1 -w1 172.16.1.100
67 if [ $? -ne 0 ]; then
68 echo "ping failed when it should succeed"
69 cleanup
70 exit 1
73 ping6 -c1 -w1 2401:db00::1
74 if [ $? -eq 0 ]; then
75 echo "ping6 succeeded when it should not"
76 cleanup
77 exit 1
80 rm -rf $LINK_PIN
81 sleep 1 # Wait for link detach
84 # Test 2 - fail ping
86 attach_bpf 1
87 ping6 -c1 -w1 2401:db00::1
88 if [ $? -ne 0 ]; then
89 echo "ping6 failed when it should succeed"
90 cleanup
91 exit 1
94 ping -c1 -w1 172.16.1.100
95 if [ $? -eq 0 ]; then
96 echo "ping succeeded when it should not"
97 cleanup
98 exit 1
101 cleanup
102 echo
103 echo "*** PASS ***"