1f08c3bdfSopenharmony_ci#!/bin/sh
2f08c3bdfSopenharmony_ci# SPDX-License-Identifier: GPL-2.0-or-later
3f08c3bdfSopenharmony_ci# Copyright (c) 2018-2022 Petr Vorel <pvorel@suse.cz>
4f08c3bdfSopenharmony_ci# Author: Petr Vorel <pvorel@suse.cz>
5f08c3bdfSopenharmony_ci
6f08c3bdfSopenharmony_ciCMD="${CMD:-ip}"
7f08c3bdfSopenharmony_ci
8f08c3bdfSopenharmony_ciif [ -z "$TST_SETUP" ]; then
9f08c3bdfSopenharmony_ci	TST_SETUP="if_setup"
10f08c3bdfSopenharmony_ci	TST_CLEANUP="${TST_CLEANUP:-netstress_cleanup}"
11f08c3bdfSopenharmony_cifi
12f08c3bdfSopenharmony_ci
13f08c3bdfSopenharmony_ciTST_TESTFUNC="test_body"
14f08c3bdfSopenharmony_ciTST_PARSE_ARGS="if_parse_args"
15f08c3bdfSopenharmony_ciTST_USAGE="if_usage"
16f08c3bdfSopenharmony_ciTST_OPTS="c:"
17f08c3bdfSopenharmony_ci
18f08c3bdfSopenharmony_ciif_usage()
19f08c3bdfSopenharmony_ci{
20f08c3bdfSopenharmony_ci	echo "-c      Test command (ip, $IF_CMD)"
21f08c3bdfSopenharmony_ci}
22f08c3bdfSopenharmony_ci
23f08c3bdfSopenharmony_ciif_parse_args()
24f08c3bdfSopenharmony_ci{
25f08c3bdfSopenharmony_ci	case $1 in
26f08c3bdfSopenharmony_ci	c) CMD="$2";;
27f08c3bdfSopenharmony_ci	esac
28f08c3bdfSopenharmony_ci}
29f08c3bdfSopenharmony_ci
30f08c3bdfSopenharmony_ciif_setup()
31f08c3bdfSopenharmony_ci{
32f08c3bdfSopenharmony_ci	if [ "$CMD" != 'ip' -a "$CMD" != "$IF_CMD" ]; then
33f08c3bdfSopenharmony_ci		tst_brk TBROK "Missing or wrong -c parameter: '$CMD', use 'ip' or '$IF_CMD'"
34f08c3bdfSopenharmony_ci	fi
35f08c3bdfSopenharmony_ci
36f08c3bdfSopenharmony_ci	tst_require_cmds "$CMD"
37f08c3bdfSopenharmony_ci	netstress_setup
38f08c3bdfSopenharmony_ci}
39f08c3bdfSopenharmony_ci
40f08c3bdfSopenharmony_ciif_cleanup_restore()
41f08c3bdfSopenharmony_ci{
42f08c3bdfSopenharmony_ci	netstress_cleanup
43f08c3bdfSopenharmony_ci	restore_ipaddr
44f08c3bdfSopenharmony_ci	restore_ipaddr rhost
45f08c3bdfSopenharmony_ci}
46f08c3bdfSopenharmony_ci
47f08c3bdfSopenharmony_ci. tst_net_stress.sh
48