Use IP address types on UDP encap API
[vpp.git] / test / test_vxlan.py
index ee829a3..1411dd6 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 
 import socket
-from util import ip4n_range
+from util import ip4n_range, ip4_range
 import unittest
 from framework import VppTestCase, VppTestRunner
 from template_bd import BridgeDomain
@@ -30,6 +30,10 @@ class TestVxlan(BridgeDomain, VppTestCase):
                 VXLAN(vni=vni, flags=self.flags) /
                 pkt)
 
+    def ip_range(self, start, end):
+        """ range of remote ip's """
+        return ip4_range(self.pg0.remote_ip4, start, end)
+
     def encap_mcast(self, pkt, src_ip, src_mac, vni):
         """
         Encapsulate the original payload frame by adding VXLAN header with its
@@ -97,16 +101,18 @@ class TestVxlan(BridgeDomain, VppTestCase):
         add or del tunnels sharing the same mcast dst
         to test vxlan ref_count mechanism
         """
-        n_shared_dst_tunnels = 2000
+        n_shared_dst_tunnels = 20
         vni_start = 10000
         vni_end = vni_start + n_shared_dst_tunnels
         for vni in range(vni_start, vni_end):
-            cls.vapi.vxlan_add_del_tunnel(
+            r = cls.vapi.vxlan_add_del_tunnel(
                 src_addr=cls.pg0.local_ip4n,
                 dst_addr=cls.mcast_ip4n,
                 mcast_sw_if_index=1,
                 vni=vni,
                 is_add=is_add)
+            if r.sw_if_index == 0xffffffff:
+                raise "bad sw_if_index"
 
     @classmethod
     def add_shared_mcast_dst_load(cls):