VatHistory: Add ability to trace file executions
[csit.git] / resources / libraries / python / IPv4Setup.py
index 0220139..36dc605 100644 (file)
@@ -60,17 +60,19 @@ class IPv4Node(object):
         pass
 
     @abstractmethod
-    def set_route(self, network, prefix_length, gateway, interface):
+    def set_route(self, network, prefix_length, gateway, interface, count=1):
         """Configure IPv4 route.
 
         :param network: Network IPv4 address.
         :param prefix_length: IPv4 prefix length.
         :param gateway: IPv4 address of the gateway.
         :param interface: Interface name.
+        :param count: Number of consecutive routes to add.
         :type network: str
         :type prefix_length: int
         :type gateway: str
         :type interface: str
+        :type route: int
         :returns: nothing
         """
         pass
@@ -146,7 +148,7 @@ class Tg(IPv4Node):
                                                 interface)
         self._sudo_execute(cmd)
 
-    def set_route(self, network, prefix_length, gateway, interface):
+    def set_route(self, network, prefix_length, gateway, interface, count=1):
         netmask = self._get_netmask(prefix_length)
         cmd = 'route add -net {} netmask {} gw {}'.\
             format(network, netmask, gateway)
@@ -202,23 +204,19 @@ class Dut(IPv4Node):
         # TODO: check return value
         VatExecutor.cmd_from_template(self.node_info, script, **args)
 
-    def set_arp(self, iface_key, ip_address, mac_address, vrf=None):
+    def set_arp(self, iface_key, ip_address, mac_address):
         """Set entry in ARP cache.
 
         :param iface_key: Interface key.
         :param ip_address: IP address.
         :param mac_address: MAC address.
-        :param vrf: VRF table ID (Optional).
         :type iface_key: str
         :type ip_address: str
         :type mac_address: str
-        :type vrf: int
         """
-        vrf = "vrf {}".format(vrf) if vrf else ''
         self.exec_vat('add_ip_neighbor.vat',
                       sw_if_index=self.get_sw_if_index(iface_key),
-                      ip_address=ip_address, mac_address=mac_address,
-                      vrf=vrf)
+                      ip_address=ip_address, mac_address=mac_address)
 
     def set_ip(self, interface, address, prefix_length):
         self.exec_vat('add_ip_address.vat',
@@ -350,18 +348,16 @@ class IPv4Setup(object):
                 get_node(node).set_arp(iface_key, ip_address, mac_address)
 
     @staticmethod
-    def add_arp_on_dut(node, iface_key, ip_address, mac_address, vrf=None):
+    def add_arp_on_dut(node, iface_key, ip_address, mac_address):
         """Set ARP cache entree on DUT node.
 
         :param node: VPP Node in the topology.
         :param iface_key: Interface key.
         :param ip_address: IP address of the interface.
         :param mac_address: MAC address of the interface.
-        :param vrf: VRF table ID (Optional).
         :type node: dict
         :type iface_key: str
         :type ip_address: str
         :type mac_address: str
-        :type vrf: int
         """
-        get_node(node).set_arp(iface_key, ip_address, mac_address, vrf)
+        get_node(node).set_arp(iface_key, ip_address, mac_address)