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