Blame view

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