test_cgrp2_sock.sh 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/bin/bash
  2. function config_device {
  3. ip netns add at_ns0
  4. ip link add veth0 type veth peer name veth0b
  5. ip link set veth0b up
  6. ip link set veth0 netns at_ns0
  7. ip netns exec at_ns0 ip addr add 172.16.1.100/24 dev veth0
  8. ip netns exec at_ns0 ip addr add 2401:db00::1/64 dev veth0 nodad
  9. ip netns exec at_ns0 ip link set dev veth0 up
  10. ip link add foo type vrf table 1234
  11. ip link set foo up
  12. ip addr add 172.16.1.101/24 dev veth0b
  13. ip addr add 2401:db00::2/64 dev veth0b nodad
  14. ip link set veth0b master foo
  15. }
  16. function attach_bpf {
  17. rm -rf /tmp/cgroupv2
  18. mkdir -p /tmp/cgroupv2
  19. mount -t cgroup2 none /tmp/cgroupv2
  20. mkdir -p /tmp/cgroupv2/foo
  21. test_cgrp2_sock /tmp/cgroupv2/foo foo
  22. echo $$ >> /tmp/cgroupv2/foo/cgroup.procs
  23. }
  24. function cleanup {
  25. set +ex
  26. ip netns delete at_ns0
  27. ip link del veth0
  28. ip link del foo
  29. umount /tmp/cgroupv2
  30. rm -rf /tmp/cgroupv2
  31. set -ex
  32. }
  33. function do_test {
  34. ping -c1 -w1 172.16.1.100
  35. ping6 -c1 -w1 2401:db00::1
  36. }
  37. cleanup 2>/dev/null
  38. config_device
  39. attach_bpf
  40. do_test
  41. cleanup
  42. echo "*** PASS ***"