Blame view

samples/bpf/test_cls_bpf.sh 880 Bytes
65d472fb0   Alexei Starovoitov   samples/bpf: add ...
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
  #!/bin/bash
  
  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