1#!/bin/bash 2# SPDX-License-Identifier: GPL-2.0 3 4#modprobe pktgen 5 6 7function pgset() { 8 local result 9 10 echo $1 > $PGDEV 11 12 result=`cat $PGDEV | fgrep "Result: OK:"` 13 if [ "$result" = "" ]; then 14 cat $PGDEV | fgrep Result: 15 fi 16} 17 18# Config Start Here ----------------------------------------------------------- 19 20 21# thread config 22# Each CPU has its own thread. One CPU example. We add eth1. 23# IPv6. Note increase in minimal packet length 24 25PGDEV=/proc/net/pktgen/kpktgend_0 26 echo "Removing all devices" 27 pgset "rem_device_all" 28 echo "Adding eth1" 29 pgset "add_device eth1" 30 31 32# device config 33# delay 0 34 35CLONE_SKB="clone_skb 1000000" 36# NIC adds 4 bytes CRC 37PKT_SIZE="pkt_size 66" 38 39# COUNT 0 means forever 40#COUNT="count 0" 41COUNT="count 10000000" 42DELAY="delay 0" 43 44PGDEV=/proc/net/pktgen/eth1 45 echo "Configuring $PGDEV" 46 pgset "$COUNT" 47 pgset "$CLONE_SKB" 48 pgset "$PKT_SIZE" 49 pgset "$DELAY" 50 pgset "dst6 fec0::1" 51 pgset "src6 fec0::2" 52 pgset "dst_mac 00:04:23:08:91:dc" 53 54# Time to run 55PGDEV=/proc/net/pktgen/pgctrl 56 57 echo "Running... ctrl^C to stop" 58 trap true INT 59 pgset "start" 60 echo "Done" 61 cat /proc/net/pktgen/eth1 62