summaryrefslogtreecommitdiffstats
path: root/tests/data_plane/vpp_lite_topo/test_driver/basic_no_odl.sh
blob: 8a1ac51b75a8ed4902fcde867a48f43d019788b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
source config.sh
source odl_utils.sh
source topologies/2_node_topo.sh

if [ "$1" == "clean" ] ; then
  2_node_topo_clean
  exit 0
fi

if [[ $(id -u) != 0 ]]; then
  echo "Error: run this as a root."
  exit 1
fi

function test_basic_no_odl
{
  2_node_topo_setup no_odl

  maybe_pause

  test_result=1

  ip netns exec vppns1 "${1}" -w 15 -c 1 "${2}"
  if [ $? -ne 0 ] ; then
    echo "No response received!"
    2_node_topo_clean no_odl
    exit $test_result
  fi

  # change IP addresses of destination RLOC
  echo "set int ip address del host-intervpp2 6.0.3.2/24" | nc 0 5003
  echo "set int ip address host-intervpp2 6.0.3.20/24" | nc 0 5003
  echo "set int ip address del host-intervpp2 6:0:3::2/64" | nc 0 5003
  echo "set int ip address host-intervpp2 6:0:3::20/64" | nc 0 5003

  if [ ${3} == "switch_rlocs" ] ; then
    echo "lisp remote-mapping del vni 0 eid 6.0.2.0/24" | nc 0 5002
    echo "lisp remote-mapping add vni 0 eid 6.0.2.0/24 rloc 6:0:3::20" | nc 0 5002
    echo "lisp remote-mapping del vni 0 eid 6:0:2::0/64" | nc 0 5002
    echo "lisp remote-mapping add vni 0 eid 6:0:2::0/64 rloc 6.0.3.20" | nc 0 5002
  else
    echo "lisp remote-mapping del vni 0 eid 6.0.2.0/24 rloc 6.0.3.2" | nc 0 5002
    echo "lisp remote-mapping add vni 0 eid 6.0.2.0/24 rloc 6.0.3.20" | nc 0 5002
    echo "lisp remote-mapping del vni 0 eid 6:0:2::0/64 rloc 6:0:3::2" | nc 0 5002
    echo "lisp remote-mapping add vni 0 eid 6:0:2::0/64 rloc 6:0:3::20" | nc 0 5002
  fi

  ip netns exec vppns1 "${1}" -w 15 -c 1 "${2}"
  rc=$?

  maybe_pause

  # test done

  2_node_topo_clean no_odl
  if [ $rc -ne 0 ] ; then
    echo "Test failed: No ICMP response received within specified timeout limit!"
  else
    echo "Test passed."
    test_result=0
  fi

  exit $test_result
}

function test_negative_mapping
{
  2_node_topo_setup no_odl
  maybe_pause

  test_result=1

  ip netns exec vppns1 "${1}" -w 15 -c 1 "${2}"
  rc=$?

  # test done
  2_node_topo_clean no_odl
  if [ $rc -eq 0 ] ; then
    echo "Test failed!"
  else
    echo "Test passed."
    test_result=0
  fi

  exit $test_result
}