From ac4e07f96ae329bab51c3da8596a2b975a0f3f17 Mon Sep 17 00:00:00 2001 From: jack9603301 Date: Tue, 13 Sep 2022 16:03:49 +0800 Subject: rfs: T4689: Support RFS(Receive Flow Steering) --- smoketest/scripts/cli/test_interfaces_ethernet.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'smoketest/scripts/cli/test_interfaces_ethernet.py') diff --git a/smoketest/scripts/cli/test_interfaces_ethernet.py b/smoketest/scripts/cli/test_interfaces_ethernet.py index 05d2ae5f5..529655f6a 100755 --- a/smoketest/scripts/cli/test_interfaces_ethernet.py +++ b/smoketest/scripts/cli/test_interfaces_ethernet.py @@ -17,6 +17,7 @@ import os import re import unittest +from glob import glob from netifaces import AF_INET from netifaces import AF_INET6 @@ -185,6 +186,24 @@ class EthernetInterfaceTest(BasicInterfaceTest.TestCase): self.assertEqual(f'{cpus:x}', f'{rps_cpus:x}') + def test_offloading_rfs(self): + global_rfs_flow = 32768 + rfs_flow = global_rfs_flow + + for interface in self._interfaces: + self.cli_set(self._base_path + [interface, 'offload', 'rfs']) + self.cli_commit() + + for interface in self._interfaces: + queues = glob(f'/sys/class/net/{interface}/queues/rx-*') + rfs_flow = global_rfs_flow/len(queues) + for i in range(0,len(queues)): + flows = read_file(f'/sys/class/net/{interface}/queues/rx-{i}/rps_flow_cnt') + self.assertEqual(int(flows), int(rfs_flow)) + + global_flows = read_file(f'/proc/sys/net/core/rps_sock_flow_entries') + self.assertEqual(int(global_flows), int(global_rfs_flow)) + def test_non_existing_interface(self): unknonw_interface = self._base_path + ['eth667'] self.cli_set(unknonw_interface) -- cgit v1.2.3