]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame_incremental - samples/bpf/test_cgrp2_sock2.sh
UBUNTU: Ubuntu-4.15.0-96.97
[mirror_ubuntu-bionic-kernel.git] / samples / bpf / test_cgrp2_sock2.sh
... / ...
CommitLineData
1#!/bin/bash
2# SPDX-License-Identifier: GPL-2.0
3
4function config_device {
5 ip netns add at_ns0
6 ip link add veth0 type veth peer name veth0b
7 ip link set veth0b up
8 ip link set veth0 netns at_ns0
9 ip netns exec at_ns0 ip addr add 172.16.1.100/24 dev veth0
10 ip netns exec at_ns0 ip addr add 2401:db00::1/64 dev veth0 nodad
11 ip netns exec at_ns0 ip link set dev veth0 up
12 ip addr add 172.16.1.101/24 dev veth0b
13 ip addr add 2401:db00::2/64 dev veth0b nodad
14}
15
16function config_cgroup {
17 rm -rf /tmp/cgroupv2
18 mkdir -p /tmp/cgroupv2
19 mount -t cgroup2 none /tmp/cgroupv2
20 mkdir -p /tmp/cgroupv2/foo
21 echo $$ >> /tmp/cgroupv2/foo/cgroup.procs
22}
23
24
25function attach_bpf {
26 test_cgrp2_sock2 /tmp/cgroupv2/foo sock_flags_kern.o $1
27 [ $? -ne 0 ] && exit 1
28}
29
30function cleanup {
31 ip link del veth0b
32 ip netns delete at_ns0
33 umount /tmp/cgroupv2
34 rm -rf /tmp/cgroupv2
35}
36
37cleanup 2>/dev/null
38
39set -e
40config_device
41config_cgroup
42set +e
43
44#
45# Test 1 - fail ping6
46#
47attach_bpf 0
48ping -c1 -w1 172.16.1.100
49if [ $? -ne 0 ]; then
50 echo "ping failed when it should succeed"
51 cleanup
52 exit 1
53fi
54
55ping6 -c1 -w1 2401:db00::1
56if [ $? -eq 0 ]; then
57 echo "ping6 succeeded when it should not"
58 cleanup
59 exit 1
60fi
61
62#
63# Test 2 - fail ping
64#
65attach_bpf 1
66ping6 -c1 -w1 2401:db00::1
67if [ $? -ne 0 ]; then
68 echo "ping6 failed when it should succeed"
69 cleanup
70 exit 1
71fi
72
73ping -c1 -w1 172.16.1.100
74if [ $? -eq 0 ]; then
75 echo "ping succeeded when it should not"
76 cleanup
77 exit 1
78fi
79
80cleanup
81echo
82echo "*** PASS ***"