diff options
author | Suprabh Shukla <suprabh@google.com> | 2024-02-08 19:20:40 -0800 |
---|---|---|
committer | Suprabh Shukla <suprabh@google.com> | 2024-02-09 13:34:22 -0800 |
commit | 3be922d1e6bbec0a091cde8b1f3fffabc822ac3f (patch) | |
tree | 77c25e8bde34c5aa0c28db0ddc7a36be611a7882 | |
parent | 58db7a76731f391523ebe4a5037e68683cb84cff (diff) | |
download | tests-3be922d1e6bbec0a091cde8b1f3fffabc822ac3f.tar.gz |
Use uids < 10000 in kernel net tests
Application uids are blocked by the BACKGROUND_MATCH bit in the bpf map
which can be enabled on boot.
Test: atest vts_kernel_net_tests
Bug: 322273516
Change-Id: Ie11af7142c6b8fcb87fbc7102b82cbdf7d46758a
-rwxr-xr-x | net/test/bpf_test.py | 2 | ||||
-rw-r--r-- | net/test/multinetwork_base.py | 11 | ||||
-rwxr-xr-x | net/test/multinetwork_test.py | 6 | ||||
-rwxr-xr-x | net/test/xfrm_tunnel_test.py | 9 |
4 files changed, 21 insertions, 7 deletions
diff --git a/net/test/bpf_test.py b/net/test/bpf_test.py index 4602515..f0b4393 100755 --- a/net/test/bpf_test.py +++ b/net/test/bpf_test.py @@ -88,7 +88,7 @@ libc = ctypes.CDLL(ctypes.util.find_library("c"), use_errno=True) KEY_SIZE = 4 VALUE_SIZE = 4 TOTAL_ENTRIES = 20 -TEST_UID = 54321 +TEST_UID = 5432 TEST_GID = 12345 # Offset to store the map key in stack register REG10 key_offset = -8 diff --git a/net/test/multinetwork_base.py b/net/test/multinetwork_base.py index 4f1f9aa..e84dba2 100644 --- a/net/test/multinetwork_base.py +++ b/net/test/multinetwork_base.py @@ -108,8 +108,9 @@ class MultiNetworkBaseTest(net_test.NetworkTest): # Wether to output setup commands. DEBUG = False - # The size of our UID ranges. - UID_RANGE_SIZE = 1000 + UID_RANGE_START = 2000 + UID_RANGE_END = 9999 + UID_RANGE_SIZE = UID_RANGE_END - UID_RANGE_START + 1 # Rule priorities. PRIORITY_UID = 100 @@ -136,9 +137,11 @@ class MultiNetworkBaseTest(net_test.NetworkTest): @classmethod def UidRangeForNetid(cls, netid): + per_netid_range = int(cls.UID_RANGE_SIZE / len(cls.NETIDS)) + idx = cls.NETIDS.index(netid) return ( - cls.UID_RANGE_SIZE * netid, - cls.UID_RANGE_SIZE * (netid + 1) - 1 + cls.UID_RANGE_START + per_netid_range * idx, + cls.UID_RANGE_START + per_netid_range * (idx + 1) - 1 ) @classmethod diff --git a/net/test/multinetwork_test.py b/net/test/multinetwork_test.py index b3bbf68..dbafbf5 100755 --- a/net/test/multinetwork_test.py +++ b/net/test/multinetwork_test.py @@ -1279,6 +1279,10 @@ class UidRoutingTest(multinetwork_base.MultiNetworkBaseTest): def _Random(): return random.randint(1000000, 2000000) + @staticmethod + def _RandomUid(cls): + return random.randint(cls.UID_RANGE_START, cls.UID_RANGE_END) + def CheckGetAndSetRules(self, version): start, end = tuple(sorted([self._Random(), self._Random()])) table = self._Random() @@ -1404,7 +1408,7 @@ class UidRoutingTest(multinetwork_base.MultiNetworkBaseTest): def testChangeFdAttributes(self): netid = random.choice(self.NETIDS) - uid = self._Random() + uid = self._RandomUid(self) table = self._TableForNetid(netid) remoteaddr = self.GetRemoteAddress(6) s = socket(AF_INET6, SOCK_DGRAM, 0) diff --git a/net/test/xfrm_tunnel_test.py b/net/test/xfrm_tunnel_test.py index b1e41e9..715b559 100755 --- a/net/test/xfrm_tunnel_test.py +++ b/net/test/xfrm_tunnel_test.py @@ -652,6 +652,13 @@ class XfrmTunnelBase(xfrm_base.XfrmBaseTest): return cls.OnlinkPrefix(6, netid - _TUNNEL_NETID_OFFSET) + "1" @classmethod + def UidRangeForTunnelNetId(cls, netid): + if netid < _TUNNEL_NETID_OFFSET: + raise ValueError("Tunnel netid outside tunnel range") + netid -= _TUNNEL_NETID_OFFSET + return (500 + 50 * netid, 500 + 50 * (netid + 1) - 1) + + @classmethod def _SetupTunnelNetwork(cls, tunnel, is_add): """Setup rules and routes for a tunnel Network. @@ -682,7 +689,7 @@ class XfrmTunnelBase(xfrm_base.XfrmBaseTest): table = tunnel.netid # Set up routing rules. - start, end = cls.UidRangeForNetid(tunnel.netid) + start, end = cls.UidRangeForTunnelNetId(tunnel.netid) cls.iproute.UidRangeRule(version, is_add, start, end, table, cls.PRIORITY_UID) cls.iproute.OifRule(version, is_add, tunnel.iface, table, cls.PRIORITY_OIF) |