test_cls_bpf.sh 915 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #!/bin/bash
  2. # SPDX-License-Identifier: GPL-2.0
  3. function pktgen {
  4. ../pktgen/pktgen_bench_xmit_mode_netif_receive.sh -i $IFC -s 64 \
  5. -m 90:e2:ba:ff:ff:ff -d 192.168.0.1 -t 4
  6. local dropped=`tc -s qdisc show dev $IFC | tail -3 | awk '/drop/{print $7}'`
  7. if [ "$dropped" == "0," ]; then
  8. echo "FAIL"
  9. else
  10. echo "Successfully filtered " $dropped " packets"
  11. fi
  12. }
  13. function test {
  14. echo -n "Loading bpf program '$2'... "
  15. tc qdisc add dev $IFC clsact
  16. tc filter add dev $IFC ingress bpf da obj $1 sec $2
  17. local status=$?
  18. if [ $status -ne 0 ]; then
  19. echo "FAIL"
  20. else
  21. echo "ok"
  22. pktgen
  23. fi
  24. tc qdisc del dev $IFC clsact
  25. }
  26. IFC=test_veth
  27. ip link add name $IFC type veth peer name pair_$IFC
  28. ip link set $IFC up
  29. ip link set pair_$IFC up
  30. test ./parse_simple.o simple
  31. test ./parse_varlen.o varlen
  32. test ./parse_ldabs.o ldabs
  33. ip link del dev $IFC