165d472fbSAlexei Starovoitov#!/bin/bash 2*b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 365d472fbSAlexei Starovoitov 465d472fbSAlexei Starovoitovfunction pktgen { 565d472fbSAlexei Starovoitov ../pktgen/pktgen_bench_xmit_mode_netif_receive.sh -i $IFC -s 64 \ 665d472fbSAlexei Starovoitov -m 90:e2:ba:ff:ff:ff -d 192.168.0.1 -t 4 765d472fbSAlexei Starovoitov local dropped=`tc -s qdisc show dev $IFC | tail -3 | awk '/drop/{print $7}'` 865d472fbSAlexei Starovoitov if [ "$dropped" == "0," ]; then 965d472fbSAlexei Starovoitov echo "FAIL" 1065d472fbSAlexei Starovoitov else 1165d472fbSAlexei Starovoitov echo "Successfully filtered " $dropped " packets" 1265d472fbSAlexei Starovoitov fi 1365d472fbSAlexei Starovoitov} 1465d472fbSAlexei Starovoitov 1565d472fbSAlexei Starovoitovfunction test { 1665d472fbSAlexei Starovoitov echo -n "Loading bpf program '$2'... " 1765d472fbSAlexei Starovoitov tc qdisc add dev $IFC clsact 1865d472fbSAlexei Starovoitov tc filter add dev $IFC ingress bpf da obj $1 sec $2 1965d472fbSAlexei Starovoitov local status=$? 2065d472fbSAlexei Starovoitov if [ $status -ne 0 ]; then 2165d472fbSAlexei Starovoitov echo "FAIL" 2265d472fbSAlexei Starovoitov else 2365d472fbSAlexei Starovoitov echo "ok" 2465d472fbSAlexei Starovoitov pktgen 2565d472fbSAlexei Starovoitov fi 2665d472fbSAlexei Starovoitov tc qdisc del dev $IFC clsact 2765d472fbSAlexei Starovoitov} 2865d472fbSAlexei Starovoitov 2965d472fbSAlexei StarovoitovIFC=test_veth 3065d472fbSAlexei Starovoitov 3165d472fbSAlexei Starovoitovip link add name $IFC type veth peer name pair_$IFC 3265d472fbSAlexei Starovoitovip link set $IFC up 3365d472fbSAlexei Starovoitovip link set pair_$IFC up 3465d472fbSAlexei Starovoitov 3565d472fbSAlexei Starovoitovtest ./parse_simple.o simple 3665d472fbSAlexei Starovoitovtest ./parse_varlen.o varlen 3765d472fbSAlexei Starovoitovtest ./parse_ldabs.o ldabs 3865d472fbSAlexei Starovoitovip link del dev $IFC 39