linux/samples/bpf/test_cls_bpf.sh
<<
>>
Prefs
   1#!/bin/bash
   2# SPDX-License-Identifier: GPL-2.0
   3
   4function 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
  15function 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
  29IFC=test_veth
  30
  31ip link add name $IFC type veth peer name pair_$IFC
  32ip link set $IFC up
  33ip link set pair_$IFC up
  34
  35test ./parse_simple.o simple
  36test ./parse_varlen.o varlen
  37test ./parse_ldabs.o ldabs
  38ip link del dev $IFC
  39