diff options
-rw-r--r-- | resources/libraries/python/InterfaceUtil.py | 15 | ||||
-rw-r--r-- | resources/libraries/robot/shared/interfaces.robot | 2 |
2 files changed, 17 insertions, 0 deletions
diff --git a/resources/libraries/python/InterfaceUtil.py b/resources/libraries/python/InterfaceUtil.py index 03e0e69d42..2368ee3362 100644 --- a/resources/libraries/python/InterfaceUtil.py +++ b/resources/libraries/python/InterfaceUtil.py @@ -295,6 +295,21 @@ class InterfaceUtil: exec_cmd_no_error(node, cmd, sudo=True) @staticmethod + def set_interface_xdp_off(node, pf_pcis): + """Detaches any currently attached XDP/BPF program from the specified + interfaces. + + :param node: Topology node. + :param pf_pcis: List of node's interfaces PCI addresses. + :type nodes: dict + :type pf_pcis: list + """ + for pf_pci in pf_pcis: + pf_eth = InterfaceUtil.pci_to_eth(node, pf_pci) + cmd = f"ip link set dev {pf_eth} xdp off" + exec_cmd_no_error(node, cmd, sudo=True) + + @staticmethod def set_interface_flow_control(node, pf_pcis, rxf=u"off", txf=u"off"): """Set Ethernet flow control for specified interfaces. diff --git a/resources/libraries/robot/shared/interfaces.robot b/resources/libraries/robot/shared/interfaces.robot index a2e46ef9c2..6279dd0bd2 100644 --- a/resources/libraries/robot/shared/interfaces.robot +++ b/resources/libraries/robot/shared/interfaces.robot @@ -169,6 +169,8 @@ | | FOR | ${dut} | IN | @{duts} | | | Set Interface State PCI | | | ... | ${nodes['${dut}']} | ${${dut}_pf_pci} | state=up +| | | Set Interface XDP off +| | | ... | ${nodes['${dut}']} | ${${dut}_pf_pci} | | | Set Interface Channels | | | ... | ${nodes['${dut}']} | ${${dut}_pf_pci} | num_queues=${rxq_count_int} | | | ... | channel=combined |