File: test_cls_bpf.sh

package info (click to toggle)
linux 6.1.4-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,532,052 kB
  • sloc: ansic: 23,400,063; asm: 266,720; sh: 108,896; makefile: 49,712; python: 36,925; perl: 36,810; cpp: 6,044; yacc: 4,904; lex: 2,722; awk: 1,440; ruby: 25; sed: 5
file content (38 lines) | stat: -rwxr-xr-x 915 bytes parent folder | download | duplicates (35)
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