Alexei Starovoitov | 65d472f | 2016-05-05 19:49:14 -0700 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 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 | |
| 14 | function test { |
| 15 | echo -n "Loading bpf program '$2'... " |
| 16 | tc qdisc add dev $IFC clsact |
| 17 | tc filter add dev $IFC ingress bpf da obj $1 sec $2 |
| 18 | local status=$? |
| 19 | if [ $status -ne 0 ]; then |
| 20 | echo "FAIL" |
| 21 | else |
| 22 | echo "ok" |
| 23 | pktgen |
| 24 | fi |
| 25 | tc qdisc del dev $IFC clsact |
| 26 | } |
| 27 | |
| 28 | IFC=test_veth |
| 29 | |
| 30 | ip link add name $IFC type veth peer name pair_$IFC |
| 31 | ip link set $IFC up |
| 32 | ip link set pair_$IFC up |
| 33 | |
| 34 | test ./parse_simple.o simple |
| 35 | test ./parse_varlen.o varlen |
| 36 | test ./parse_ldabs.o ldabs |
| 37 | ip link del dev $IFC |