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