File: test_cls_bpf.sh

package info (click to toggle)
linux 4.19.194-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 967,940 kB
  • sloc: ansic: 16,799,826; asm: 272,028; makefile: 38,421; sh: 33,838; perl: 27,701; python: 21,148; cpp: 5,066; yacc: 4,650; lex: 2,584; awk: 1,385; ruby: 25; sed: 5
file content (38 lines) | stat: -rwxr-xr-x 915 bytes parent folder | download | duplicates (36)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0

function pktgen {
    ../pktgen/pktgen_bench_xmit_mode_netif_receive.sh -i $IFC -s 64 \
        -m 90:e2:ba:ff:ff:ff -d 192.168.0.1 -t 4
    local dropped=`tc -s qdisc show dev $IFC | tail -3 | awk '/drop/{print $7}'`
    if [ "$dropped" == "0," ]; then
        echo "FAIL"
    else
        echo "Successfully filtered " $dropped " packets"
    fi
}

function test {
    echo -n "Loading bpf program '$2'... "
    tc qdisc add dev $IFC clsact
    tc filter add dev $IFC ingress bpf da obj $1 sec $2
    local status=$?
    if [ $status -ne 0 ]; then
        echo "FAIL"
    else
        echo "ok"
	pktgen
    fi
    tc qdisc del dev $IFC clsact
}

IFC=test_veth

ip link add name $IFC type veth peer name pair_$IFC
ip link set $IFC up
ip link set pair_$IFC up

test ./parse_simple.o simple
test ./parse_varlen.o varlen
test ./parse_ldabs.o ldabs
ip link del dev $IFC