Typos. A bunch of typos I've been collecting.
[vpp.git] / test / template_bd.py
index 6c38492..39f7143 100644 (file)
@@ -1,14 +1,17 @@
 #!/usr/bin/env python
 
-from abc import abstractmethod, ABCMeta
+import abc
+import six
 
 from scapy.layers.l2 import Ether, Raw
 from scapy.layers.inet import IP, UDP
 
+from util import ip4_range
 
+
+@six.add_metaclass(abc.ABCMeta)
 class BridgeDomain(object):
     """ Bridge domain abstraction """
-    __metaclass__ = ABCMeta
 
     @property
     def frame_request(self):
@@ -26,22 +29,27 @@ class BridgeDomain(object):
                 UDP(sport=20000, dport=10000) /
                 Raw('\xa5' * 100))
 
-    @abstractmethod
+    @abc.abstractmethod
+    def ip_range(self, start, end):
+        """ range of remote ip's """
+        pass
+
+    @abc.abstractmethod
     def encap_mcast(self, pkt, src_ip, src_mac, vni):
         """ Encapsulate mcast packet """
         pass
 
-    @abstractmethod
+    @abc.abstractmethod
     def encapsulate(self, pkt, vni):
         """ Encapsulate packet """
         pass
 
-    @abstractmethod
+    @abc.abstractmethod
     def decapsulate(self, pkt):
         """ Decapsulate packet """
         pass
 
-    @abstractmethod
+    @abc.abstractmethod
     def check_encapsulation(self, pkt, vni, local_only=False):
         """ Verify the encapsulation """
         pass
@@ -73,8 +81,8 @@ class BridgeDomain(object):
 
         self.pg_start()
 
-        # Pick first received frame and check if it's the
-        # non-encapsulated frame
+        # Pick first received frame and check if it's the non-encapsulated
+        # frame
         out = self.pg1.get_capture(1)
         pkt = out[0]
         self.assert_eq_pkts(pkt, self.frame_request)
@@ -90,7 +98,7 @@ class BridgeDomain(object):
 
         self.pg_start()
 
-        # Pick first received frame and check if it's corectly encapsulated.
+        # Pick first received frame and check if it's correctly encapsulated.
         out = self.pg0.get_capture(1)
         pkt = out[0]
         self.check_encapsulation(pkt, self.single_tunnel_bd)
@@ -109,8 +117,8 @@ class BridgeDomain(object):
 
         self.pg_start()
 
-        # Get packet from each tunnel and assert it's corectly encapsulated.
-        out = self.pg0.get_capture(10)
+        # Get packet from each tunnel and assert it's correctly encapsulated.
+        out = self.pg0.get_capture(self.n_ucast_tunnels)
         for pkt in out:
             self.check_encapsulation(pkt, self.ucast_flood_bd, True)
             payload = self.decapsulate(pkt)
@@ -127,18 +135,15 @@ class BridgeDomain(object):
 
         self.pg_start()
 
-        # Pick first received frame and check if it's corectly encapsulated.
+        # Pick first received frame and check if it's correctly encapsulated.
         out = self.pg0.get_capture(1)
         pkt = out[0]
-        self.check_encapsulation(pkt, self.mcast_flood_bd, True)
+        self.check_encapsulation(pkt, self.mcast_flood_bd,
+                                 local_only=False, mcast_pkt=True)
 
         payload = self.decapsulate(pkt)
         self.assert_eq_pkts(payload, self.frame_reply)
 
-    @staticmethod
-    def ipn_to_ip(ipn):
-        return '.'.join(str(i) for i in bytearray(ipn))
-
     def test_mcast_rcv(self):
         """ Multicast receive test
         Send 20 encapsulated frames from pg0 only 10 match unicast tunnels
@@ -148,10 +153,8 @@ class BridgeDomain(object):
         ip_range_start = 10
         ip_range_end = 30
         mcast_stream = [
-            self.encap_mcast(self.frame_request, self.ipn_to_ip(ip), mac,
-                             self.mcast_flood_bd)
-            for ip in self.ip4_range(self.pg0.remote_ip4n,
-                                     ip_range_start, ip_range_end)]
+            self.encap_mcast(self.frame_request, ip, mac, self.mcast_flood_bd)
+            for ip in self.ip_range(ip_range_start, ip_range_end)]
         self.pg0.add_stream(mcast_stream)
         self.pg2.enable_capture()
         self.pg_start()