Exemple #1
0
    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)
Exemple #2
0
    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)
Exemple #3
0
    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)