samples/bpf: add 'pointer to packet' tests
[cascardo/linux.git] / samples / bpf / test_cls_bpf.sh
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