On 19/04/2024 14:52, Juraj Linkeš wrote:
diff --git a/dts/framework/test_suite.py b/dts/framework/test_suite.py
<snip>
- def configure_testbed_ipv4(self, restore: bool = False) -> None:
- """Configure IPv4 addresses on all testbed ports.
-
- The configured ports are:
-
- * SUT ingress port,
- * SUT egress port,
- * TG ingress port,
- * TG egress port.
-
- Args:
- restore: If :data:`True`, will remove the configuration instead.
- """
- delete = True if restore else False
- enable = False if restore else True
- self._configure_ipv4_forwarding(enable)
- self.sut_node.configure_port_ip_address(
- self._sut_ip_address_egress, self._sut_port_egress, delete
- )
- self.sut_node.configure_port_state(self._sut_port_egress, enable)
- self.sut_node.configure_port_ip_address(
- self._sut_ip_address_ingress, self._sut_port_ingress, delete
- )
- self.sut_node.configure_port_state(self._sut_port_ingress, enable)
- self.tg_node.configure_port_ip_address(
- self._tg_ip_address_ingress, self._tg_port_ingress, delete
- )
- self.tg_node.configure_port_state(self._tg_port_ingress, enable)
- self.tg_node.configure_port_ip_address(
- self._tg_ip_address_egress, self._tg_port_egress, delete
- )
- self.tg_node.configure_port_state(self._tg_port_egress, enable)
-
- def _configure_ipv4_forwarding(self, enable: bool) -> None:
- self.sut_node.configure_ipv4_forwarding(enable)
-
<snip>
diff --git a/dts/framework/testbed_model/linux_session.py
b/dts/framework/testbed_model/linux_session.py
<snip>
- def configure_port_state(self, port: Port, enable: bool) -> None:
- """Overrides :meth:`~.os_session.OSSession.configure_port_state`."""
- state = "up" if enable else "down"
- self.send_command(f"ip link set dev {port.logical_name} {state}",
privileged=True)
-
- def configure_port_ip_address(
- self,
- address: Union[IPv4Interface, IPv6Interface],
- port: Port,
- delete: bool,
- ) -> None:
- """Overrides
:meth:`~.os_session.OSSession.configure_port_ip_address`."""
- command = "del" if delete else "add"
- self.send_command(
- f"ip address {command} {address} dev {port.logical_name}",
- privileged=True,
- verify=True,
- )
-
> <snip>
@@ -205,8 +185,3 @@ def configure_port_mtu(self, mtu: int, port: Port) -> None:
> <snip>
-
- def configure_ipv4_forwarding(self, enable: bool) -> None:
- """Overrides
:meth:`~.os_session.OSSession.configure_ipv4_forwarding`."""
- state = 1 if enable else 0
- self.send_command(f"sysctl -w net.ipv4.ip_forward={state}",
privileged=True)
diff --git a/dts/framework/testbed_model/node.py
b/dts/framework/testbed_model/node.py
<snip>
- def configure_port_state(self, port: Port, enable: bool = True) -> None:
- """Enable/disable `port`.
-
- Args:
- port: The port to enable/disable.
- enable: :data:`True` to enable, :data:`False` to disable.
- """
- self.main_session.configure_port_state(port, enable)
-
- def configure_port_ip_address(
- self,
- address: Union[IPv4Interface, IPv6Interface],
- port: Port,
- delete: bool = False,
- ) -> None:
- """Add an IP address to `port` on this node.
-
- Args:
- address: The IP address with mask in CIDR format. Can be either
IPv4 or IPv6.
- port: The port to which to add the address.
- delete: If :data:`True`, will delete the address from the port
instead of adding it.
- """
- self.main_session.configure_port_ip_address(address, port, delete)
-
<snip>
diff --git a/dts/framework/testbed_model/os_session.py
b/dts/framework/testbed_model/os_session.py
<snip>
- @abstractmethod
- def configure_port_state(self, port: Port, enable: bool) -> None:
- """Enable/disable `port` in the operating system.
-
- Args:
- port: The port to configure.
- enable: If :data:`True`, enable the port, otherwise shut it down.
- """
-
- @abstractmethod
- def configure_port_ip_address(
- self,
- address: Union[IPv4Interface, IPv6Interface],
- port: Port,
- delete: bool,
- ) -> None:
- """Configure an IP address on `port` in the operating system.
-
- Args:
- address: The address to configure.
- port: The port to configure.
- delete: If :data:`True`, remove the IP address, otherwise
configure it.
- """
-
<snip>
diff --git a/dts/framework/testbed_model/sut_node.py
b/dts/framework/testbed_model/sut_node.py
<snip>
- def configure_ipv4_forwarding(self, enable: bool) -> None:
- """Enable/disable IPv4 forwarding on the node.
-
- Args:
- enable: If :data:`True`, enable the forwarding, otherwise disable
it.
- """
- self.main_session.configure_ipv4_forwarding(enable)
-
While I agree to remove unused code, especially code that will never be
used again. Is it worthwhile removing already implemented features?
Unless we don't foresee using them ever again...