0001
0002
0003
0004 function pktgen {
0005 ../pktgen/pktgen_bench_xmit_mode_netif_receive.sh -i $IFC -s 64 \
0006 -m 90:e2:ba:ff:ff:ff -d 192.168.0.1 -t 4
0007 local dropped=`tc -s qdisc show dev $IFC | tail -3 | awk '/drop/{print $7}'`
0008 if [ "$dropped" == "0," ]; then
0009 echo "FAIL"
0010 else
0011 echo "Successfully filtered " $dropped " packets"
0012 fi
0013 }
0014
0015 function test {
0016 echo -n "Loading bpf program '$2'... "
0017 tc qdisc add dev $IFC clsact
0018 tc filter add dev $IFC ingress bpf da obj $1 sec $2
0019 local status=$?
0020 if [ $status -ne 0 ]; then
0021 echo "FAIL"
0022 else
0023 echo "ok"
0024 pktgen
0025 fi
0026 tc qdisc del dev $IFC clsact
0027 }
0028
0029 IFC=test_veth
0030
0031 ip link add name $IFC type veth peer name pair_$IFC
0032 ip link set $IFC up
0033 ip link set pair_$IFC up
0034
0035 test ./parse_simple.o simple
0036 test ./parse_varlen.o varlen
0037 test ./parse_ldabs.o ldabs
0038 ip link del dev $IFC