route-change-netlink-dst.sh 798 B

123456789101112131415161718192021222324252627282930313233343536
  1. #!/bin/sh
  2. # SPDX-License-Identifier: GPL-2.0-or-later
  3. # Copyright (c) 2020 Petr Vorel <pvorel@suse.cz>
  4. #
  5. # Change route destination via netlink
  6. # rhost: 10.23.x.1
  7. # lhost (iface set, but not specified in Netlink API): 10.0.0.2
  8. TST_SETUP="setup"
  9. TST_CLEANUP="route_cleanup"
  10. TST_TESTFUNC="test_netlink"
  11. . route-lib.sh
  12. setup()
  13. {
  14. tst_res TINFO "change IPv$TST_IPVER route destination $ROUTE_CHANGE_NETLINK times"
  15. local cnt=0
  16. local gw rhost rhost_all rt
  17. check_max_ip
  18. while [ $cnt -lt $ROUTE_MAX_IP ]; do
  19. rt="$(tst_ipaddr_un -p $cnt)"
  20. rhost="$(tst_ipaddr_un $cnt 1)"
  21. rhost_all="$rhost$IP_ADDR_DELIM$rhost_all"
  22. tst_add_ipaddr -s -q -a $rhost rhost
  23. ROD ip route add $rt dev $(tst_iface)
  24. cnt=$((cnt+1))
  25. done
  26. ROUTE_CHANGE_NETLINK_PARAMS="-d $(tst_iface) -r '$rhost_all'"
  27. }
  28. tst_run