diff options
-rw-r--r-- | resources/libraries/python/IPUtil.py | 20 | ||||
-rw-r--r-- | resources/templates/vat/vpp_route_add.vat | 1 |
2 files changed, 21 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', '') diff --git a/resources/templates/vat/vpp_route_add.vat b/resources/templates/vat/vpp_route_add.vat new file mode 100644 index 0000000000..b288c6b610 --- /dev/null +++ b/resources/templates/vat/vpp_route_add.vat @@ -0,0 +1 @@ +ip_route_add_del {network}/{prefix_length} {vrf} {count} {multipath} {via}
\ No newline at end of file |