mpls02.sh 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. TST_SETUP="setup"
  5. TST_TESTFUNC="do_test"
  6. TST_CLEANUP="cleanup"
  7. . mpls_lib.sh
  8. cleanup()
  9. {
  10. ip route del $ip_rmt/$mask > /dev/null 2>&1
  11. tst_rhost_run -c "ip route del $ip_loc/$mask" > /dev/null
  12. [ -n "$ip_loc" ] && ip addr del $ip_loc/$mask dev lo > /dev/null 2>&1
  13. [ -n "$ip_rmt" ] && tst_rhost_run -c "ip addr del $ip_rmt/$mask dev lo" > \
  14. /dev/null 2>&1
  15. mpls_cleanup
  16. }
  17. setup()
  18. {
  19. mpls_setup 61
  20. ip_loc=$(tst_ipaddr_un)
  21. ip_rmt=$(tst_ipaddr_un rhost)
  22. [ -n "$TST_IPV6" ] && mask=128 || mask=32
  23. ROD ip addr add $ip_loc/$mask dev lo
  24. ROD ip route add $ip_rmt/$mask encap mpls 50 via inet$TST_IPV6 $(tst_ipaddr rhost)
  25. ROD ip -f mpls route add 60 dev lo
  26. tst_rhost_run -s -c "ip addr add $ip_rmt/$mask dev lo"
  27. tst_rhost_run -s -c "ip route add $ip_loc/$mask encap mpls 60 via inet$TST_IPV6 $(tst_ipaddr)"
  28. tst_rhost_run -s -c "ip -f mpls route add 50 dev lo"
  29. }
  30. do_test()
  31. {
  32. local type=$2
  33. local max_size=$TST_NET_MAX_PKT
  34. if [ "$type" = "icmp" ]; then
  35. tst_ping $ip_loc $ip_rmt 10 100 1000 2000 $max_size
  36. else
  37. tst_netload -S $ip_loc -H $ip_rmt -T $type -n 10 -N 10
  38. tst_netload -S $ip_loc -H $ip_rmt -T $type -A $max_size
  39. fi
  40. }
  41. tst_run