1#!/bin/sh 2# SPDX-License-Identifier: GPL-2.0-or-later 3# Copyright (c) 2018 Oracle and/or its affiliates. All Rights Reserved. 4 5TST_SETUP="setup" 6TST_TESTFUNC="do_test" 7TST_CLEANUP="cleanup" 8 9cleanup() 10{ 11 ip route del $ip_rmt/$mask > /dev/null 2>&1 12 tst_rhost_run -c "ip route del $ip_loc/$mask" > /dev/null 13 14 [ -n "$ip_loc" ] && ip addr del $ip_loc/$mask dev lo > /dev/null 2>&1 15 [ -n "$ip_rmt" ] && tst_rhost_run -c "ip addr del $ip_rmt/$mask dev lo" > \ 16 /dev/null 2>&1 17 18 mpls_cleanup 19} 20 21setup() 22{ 23 mpls_setup 61 24 25 ip_loc=$(tst_ipaddr_un) 26 ip_rmt=$(tst_ipaddr_un rhost) 27 [ -n "$TST_IPV6" ] && mask=128 || mask=32 28 29 ROD ip addr add $ip_loc/$mask dev lo 30 ROD ip route add $ip_rmt/$mask encap mpls 50 via inet$TST_IPV6 $(tst_ipaddr rhost) 31 ROD ip -f mpls route add 60 dev lo 32 33 tst_rhost_run -s -c "ip addr add $ip_rmt/$mask dev lo" 34 tst_rhost_run -s -c "ip route add $ip_loc/$mask encap mpls 60 via inet$TST_IPV6 $(tst_ipaddr)" 35 tst_rhost_run -s -c "ip -f mpls route add 50 dev lo" 36} 37 38do_test() 39{ 40 local type=$2 41 local max_size=$TST_NET_MAX_PKT 42 43 if [ "$type" = "icmp" ]; then 44 tst_ping -I $ip_loc -H $ip_rmt -s "10 100 1000 2000 $max_size" 45 else 46 tst_netload -S $ip_loc -H $ip_rmt -T $type -n 10 -N 10 47 tst_netload -S $ip_loc -H $ip_rmt -T $type -A $max_size 48 fi 49} 50 51. mpls_lib.sh 52tst_run 53