aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python
diff options
context:
space:
mode:
Diffstat (limited to 'resources/libraries/python')
-rw-r--r--resources/libraries/python/IPUtil.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/resources/libraries/python/IPUtil.py b/resources/libraries/python/IPUtil.py
index b78450a9f8..7f2335330e 100644
--- a/resources/libraries/python/IPUtil.py
+++ b/resources/libraries/python/IPUtil.py
@@ -26,6 +26,7 @@ from resources.libraries.python.InterfaceUtil import InterfaceUtil
from resources.libraries.python.PapiExecutor import PapiExecutor
from resources.libraries.python.ssh import exec_cmd_no_error, exec_cmd
from resources.libraries.python.topology import Topology
+from resources.libraries.python.VatExecutor import VatTerminal
# from vpp/src/vnet/vnet/mpls/mpls_types.h
@@ -448,6 +449,25 @@ class IPUtil(object):
:type prefix_len: int
:type kwargs: dict
"""
+ count = kwargs.get("count", 1)
+
+ if count > 100:
+ gateway = kwargs.get("gateway", '')
+
+ vrf = kwargs.get("vrf", None)
+ multipath = kwargs.get("multipath", False)
+
+ with VatTerminal(node, json_param=False) as vat:
+ vat.vat_terminal_exec_cmd_from_template(
+ 'vpp_route_add.vat',
+ network=network,
+ prefix_length=prefix_len,
+ via='via {}'.format(gateway) if gateway else '',
+ vrf='vrf {}'.format(vrf) if vrf else '',
+ count='count {}'.format(count) if count else '',
+ multipath='multipath' if multipath else '')
+ return
+
interface = kwargs.get('interface', '')
gateway = kwargs.get('gateway', '')