bridge_vlan_unaware.sh 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. #!/bin/bash
  2. # SPDX-License-Identifier: GPL-2.0
  3. ALL_TESTS="ping_ipv4 ping_ipv6 learning flooding"
  4. NUM_NETIFS=4
  5. source lib.sh
  6. h1_create()
  7. {
  8. simple_if_init $h1 192.0.2.1/24 2001:db8:1::1/64
  9. }
  10. h1_destroy()
  11. {
  12. simple_if_fini $h1 192.0.2.1/24 2001:db8:1::1/64
  13. }
  14. h2_create()
  15. {
  16. simple_if_init $h2 192.0.2.2/24 2001:db8:1::2/64
  17. }
  18. h2_destroy()
  19. {
  20. simple_if_fini $h2 192.0.2.2/24 2001:db8:1::2/64
  21. }
  22. switch_create()
  23. {
  24. # 10 Seconds ageing time.
  25. ip link add dev br0 type bridge ageing_time 1000 mcast_snooping 0
  26. ip link set dev $swp1 master br0
  27. ip link set dev $swp2 master br0
  28. ip link set dev br0 up
  29. ip link set dev $swp1 up
  30. ip link set dev $swp2 up
  31. }
  32. switch_destroy()
  33. {
  34. ip link set dev $swp2 down
  35. ip link set dev $swp1 down
  36. ip link del dev br0
  37. }
  38. setup_prepare()
  39. {
  40. h1=${NETIFS[p1]}
  41. swp1=${NETIFS[p2]}
  42. swp2=${NETIFS[p3]}
  43. h2=${NETIFS[p4]}
  44. vrf_prepare
  45. h1_create
  46. h2_create
  47. switch_create
  48. }
  49. cleanup()
  50. {
  51. pre_cleanup
  52. switch_destroy
  53. h2_destroy
  54. h1_destroy
  55. vrf_cleanup
  56. }
  57. ping_ipv4()
  58. {
  59. ping_test $h1 192.0.2.2
  60. }
  61. ping_ipv6()
  62. {
  63. ping6_test $h1 2001:db8:1::2
  64. }
  65. learning()
  66. {
  67. learning_test "br0" $swp1 $h1 $h2
  68. }
  69. flooding()
  70. {
  71. flood_test $swp2 $h1 $h2
  72. }
  73. trap cleanup EXIT
  74. setup_prepare
  75. setup_wait
  76. tests_run
  77. exit $EXIT_STATUS