def set_nat44_interfaces(node, int_in, int_out): """Set inside and outside interfaces for NAT44. :param node: DUT node. :param int_in: Inside interface. :param int_out: Outside interface. :type node: dict :type int_in: str :type int_out: str """ cmd = u"nat44_interface_add_del_feature" int_in_idx = InterfaceUtil.get_sw_if_index(node, int_in) err_msg = f"Failed to set inside interface {int_in} for NAT44 " \ f"on host {node[u'host']}" args_in = dict(sw_if_index=int_in_idx, is_add=1, flags=getattr(NATConfigFlags, u"NAT_IS_INSIDE").value) with PapiSocketExecutor(node) as papi_exec: papi_exec.add(cmd, **args_in).get_reply(err_msg) int_out_idx = InterfaceUtil.get_sw_if_index(node, int_out) err_msg = f"Failed to set outside interface {int_out} for NAT44 " \ f"on host {node[u'host']}" args_in = dict(sw_if_index=int_out_idx, is_add=1, flags=getattr(NATConfigFlags, u"NAT_IS_OUTSIDE").value) with PapiSocketExecutor(node) as papi_exec: papi_exec.add(cmd, **args_in).get_reply(err_msg)
def set_nat44_interfaces(node, int_in, int_out): """Set inside and outside interfaces for NAT44. :param node: DUT node. :param int_in: Inside interface. :param int_out: Outside interface. :type node: dict :type int_in: str :type int_out: str """ cmd = 'nat44_interface_add_del_feature' int_in_idx = InterfaceUtil.get_sw_if_index(node, int_in) err_msg = 'Failed to set inside interface {int} for NAT44 on host ' \ '{host}'.format(int=int_in, host=node['host']) args_in = dict(sw_if_index=int_in_idx, is_add=1, flags=getattr(NATConfigFlags, "NAT_IS_INSIDE").value) with PapiExecutor(node) as papi_exec: papi_exec.add(cmd, **args_in).get_reply(err_msg) int_out_idx = InterfaceUtil.get_sw_if_index(node, int_out) err_msg = 'Failed to set outside interface {int} for NAT44 on host ' \ '{host}'.format(int=int_out, host=node['host']) args_in = dict(sw_if_index=int_out_idx, is_add=1, flags=getattr(NATConfigFlags, "NAT_IS_OUTSIDE").value) with PapiExecutor(node) as papi_exec: papi_exec.add(cmd, **args_in).get_reply(err_msg)
def set_nat44_interface(node, interface, flag): """Set inside and outside interfaces for NAT44. :param node: DUT node. :param interface: NAT44 interface. :param flag: Interface NAT configuration flag name. :type node: dict :type interface: str :type flag: str """ cmd = u"nat44_interface_add_del_feature" err_msg = f"Failed to set {flag} interface {interface} for NAT44 " \ f"on host {node[u'host']}" args_in = dict(sw_if_index=InterfaceUtil.get_sw_if_index( node, interface), is_add=1, flags=getattr(NatConfigFlags, flag).value) with PapiSocketExecutor(node) as papi_exec: papi_exec.add(cmd, **args_in).get_reply(err_msg)