stats: add version field to stat segment base header
[vpp.git] / test / vpp_interface.py
index 84f694d..3611819 100644 (file)
@@ -229,7 +229,7 @@ class VppInterface(object):
         self._remote_addr_n = {socket.AF_INET: self.remote_ip4n,
                                socket.AF_INET6: self.remote_ip6n}
 
-        r = self.test.vapi.sw_interface_dump()
+        r = self.test.vapi.sw_interface_dump(sw_if_index=self.sw_if_index)
         for intf in r:
             if intf.sw_if_index == self.sw_if_index:
                 self._name = intf.interface_name.split(b'\0',
@@ -365,6 +365,14 @@ class VppInterface(object):
         self.test.vapi.sw_interface_set_flags(self.sw_if_index,
                                               admin_up_down=0)
 
+    def link_up(self):
+        """Put interface link-state-UP."""
+        self.test.vapi.cli("test interface link-state %s up" % self.name)
+
+    def link_down(self):
+        """Put interface link-state-down."""
+        self.test.vapi.cli("test interface link-state %s down" % self.name)
+
     def ip6_enable(self):
         """IPv6 Enable interface"""
         self.test.vapi.sw_interface_ip6_enable_disable(self.sw_if_index,
@@ -421,7 +429,7 @@ class VppInterface(object):
             enable)
 
     def query_vpp_config(self):
-        dump = self.test.vapi.sw_interface_dump()
+        dump = self.test.vapi.sw_interface_dump(sw_if_index=self.sw_if_index)
         return self.is_interface_config_in_dump(dump)
 
     def get_interface_config_from_dump(self, dump):
@@ -455,3 +463,11 @@ class VppInterface(object):
 
     def __str__(self):
         return self.name
+
+    def get_rx_stats(self):
+        c = self.test.statistics.get_counter("^/if/rx$")
+        return c[0][self.sw_if_index]
+
+    def get_tx_stats(self):
+        c = self.test.statistics.get_counter("^/if/tx$")
+        return c[0][self.sw_if_index]