1*5ebfb4ccSCoco Li#!/bin/bash 2*5ebfb4ccSCoco Li# SPDX-License-Identifier: GPL-2.0 3*5ebfb4ccSCoco Li# 4*5ebfb4ccSCoco Li# A simple program for generating traffic for the toeplitz test. 5*5ebfb4ccSCoco Li# 6*5ebfb4ccSCoco Li# This program sends packets periodically for, conservatively, 20 seconds. The 7*5ebfb4ccSCoco Li# intent is for the calling program to kill this program once it is no longer 8*5ebfb4ccSCoco Li# needed, rather than waiting for the 20 second expiration. 9*5ebfb4ccSCoco Li 10*5ebfb4ccSCoco Lisend_traffic() { 11*5ebfb4ccSCoco Li expiration=$((SECONDS+20)) 12*5ebfb4ccSCoco Li while [[ "${SECONDS}" -lt "${expiration}" ]] 13*5ebfb4ccSCoco Li do 14*5ebfb4ccSCoco Li if [[ "${PROTO}" == "-u" ]]; then 15*5ebfb4ccSCoco Li echo "msg $i" | nc "${IPVER}" -u -w 0 "${ADDR}" "${PORT}" 16*5ebfb4ccSCoco Li else 17*5ebfb4ccSCoco Li echo "msg $i" | nc "${IPVER}" -w 0 "${ADDR}" "${PORT}" 18*5ebfb4ccSCoco Li fi 19*5ebfb4ccSCoco Li sleep 0.001 20*5ebfb4ccSCoco Li done 21*5ebfb4ccSCoco Li} 22*5ebfb4ccSCoco Li 23*5ebfb4ccSCoco LiPROTO=$1 24*5ebfb4ccSCoco LiIPVER=$2 25*5ebfb4ccSCoco LiADDR=$3 26*5ebfb4ccSCoco LiPORT=$4 27*5ebfb4ccSCoco Li 28*5ebfb4ccSCoco Lisend_traffic 29