Merge tag 'fuse-update-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi...
[sfrench/cifs-2.6.git] / samples / bpf / test_cls_bpf.sh
1 #!/bin/bash
2 # SPDX-License-Identifier: GPL-2.0
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