* changes:
Make RtNetlinkRouteMessage constructor visible for testing.
Make StructRtMsg constructor visible for testing.
Make NduseroptMessage constructor visible for testing.
Xiao Maauthored and Gerrit Code Reviewcommited 2024-02-08 08:20:49 +00:00
This reverts commit b0f489021b.
Reason for revert: Currently reading trunk stable flag from mainline module is not supported. So reverting the CL to avoid confusion.
Change-Id: I0db04f28f378399aa299b325312a6af7f45d4f67
Motomu Utsumiauthored and Gerrit Code Reviewcommited 2024-02-08 03:06:34 +00:00
Refactor IpClientTest by parsing the netlink message directly instead
of netd callbacks, so we have to initialize a RtNetlinkRouteMessage
instance to trigger IPv4/v6 route updates in the unit test.
Bug: 318764217
Test: atest NetworkStackTests
Change-Id: Icfcc7ade636c89a63d897f4e9246410f6387b3c9
Refactor IpClientTest by parsing the netlink message directly instead
of netd callbacks, so we have to initialize a StructRtMsg instance to
fill in the RtNetlinkRouteMessage constructor.
Bug: 318764217
Test: atest NetworkStackTests
Change-Id: I1481cb8fab29ae94d48fa342ecf2b303a9701a31
Refactor IpClientTest by parsing the netlink message directly instead of
netd callbacks, so we have to initialize an NduseroptMessage instance to
trigger IPv6 RDNSS option update in the unit test.
Bug: 318764217
Test: atest NetworkStackTests
Change-Id: Ic2e8ca0d5e71b73c0dbdc3311e72486af371c899
Pass buffer size to netlinkSocketForProto to allow callers to specify
buffer size. The buffer size is not set if 0 is passed in.
Following callers of netlinkSocketForProto passes SOCKET_RECV_BUFFERSIZE
to keep same behavior as before:
* OffloadHardwareInterface.createConntrackSocket()
* NetlinkUtils.sendOneShotKernelMessage()
* IpSecXfrmController.Dependencies.newNetlinkSocket()
* InetDiagMessage.getConnectionOwnerUid()
Following callers pass 0 to not update the buffer size:
* TunInterfaceController - it uses the socket only for writing
* NetlinkUtils.createNetLinkInetDiagSocket() same behavior as before
Added a SOCKET_DUMP_RECV_BUFFERSIZE of 128k to be used by socket
requesting dump information from kernel:
* NetlinkUtils.getAndProcessNetlinkDumpMessages() - sends dump request
and expecting multiple reply messages.
Bug: 320420453
Test: atest NetworkStaticLibTests
atest FrameworksNetTests
Change-Id: I3dcb76963cf2646eb311602b50ab4e44b8ad3e8f
Usually we can call InterfaceController.setIPv4Address API to add an
IPv4 address on the interface, in fact it ends up calling the native
Netd API which doesn't support setting deprecation/expiration time. In
user space we already have the netlink infra to send RTM_NEWADDR for
IPv6 address, extend the function to support IPv4 as well, then we can
deprecate the Netd API in IpClient.
Bug: 129660498
Test: atest NetworkStaticLibTests
Change-Id: I9fc7ba8d7035e0ed1df8c1f2baef9ec7e1806be3
This commit addresses the review feeback of aosp/2864606
to add a wtf log for unexpected cases.
Bug: 320842025
Test: m
Change-Id: I1581b0e754b74aac72278a0db61d9836618d50b5
This can be used in the integration test to assert if an ARP packet
captured on the tap interface is broadcast or unicast request.
Bug: 315076572
Test: atest NetworkStaticLibTests
Change-Id: I52c0b18bf3fd2b64727912e54c045a8e8405d2f6
This change includes:
1. Refactor the logic in Tethering#dump into utils class.
2. Move the utils class to a common place which could be referenced
from other sub-modules.
3. Add @MonitorThreadLeak annotation to enforce
there is no thread leak problem.
Test: atest FrameworksNetTests NetworkStaticLibTests
Test: atest ConnectivityCoverageTests:com.android.networkstack.tethering.TetheringTest#testDumpTetheringLog
Test: adb shell dumpsys tethering (with hardcoded exception)
Fix: 312669345
Change-Id: Ia6fdfeeec2110afa0ec9e056e9db3843748845c3
This implements a basic border routing test case (ping) and demonstrates a
valid test environment for Thread Border Router test cases.
Later we can add more packet verifications and more test cases.
Bug: 295843010
Test: atest android.net.ThreadBorderRouterTest
Change-Id: Ifb9b6d45539143a227c2bc0ed69b5c3167ef9acd
* changes:
Use NetlinkUtil to process dump messages in InetDiagMessage.
Add mif6ctl struct definition.
Add mf6cctl struct definition.
Add Mrt6Msg struct for multicast routing support.
Add support to dump all multicast routes in NetlinkUtils
Yang Sunauthored and Gerrit Code Reviewcommited 2023-12-25 03:19:12 +00:00
Add nlAttrs parameter to store the remaining attributes data.
As a part of follow-up work from aosp/2354202, the TCP socket
parsing can be done by using existing InetDiagMessage class.
The missing piece in the InetDiagMessage class is the possible
netlink attributes fields that may be appended after an
InetDiagMessage.
Bug: 311119352
Bug: 265877161
Test: atest NetworkStaticLibTests
Change-Id: I9c34166124fd4efba2ab211bfb537ccce5e774a4
This is used to configure interfaces for multicast routing.
Test: atest NetworkStaticLibTests:com.android.net.moduletests.util.structs.StructMif6ctlTest
Change-Id: Ic26cddab2d5a9f90f63b0828c3e133d830aa0db4
This is used to configure multicast routes.
Test: atest NetworkStaticLibTests:com.android.net.moduletests.util.structs.StructMf6cctlTest
Change-Id: I57b36e6678262f48781b70ab77d49b920c7ddca2
Change the component number to 685852 which is used for IpSec. and also
add OWNER file for xfrm unit test folder.
Test: TH
Change-Id: I2359d6d8c6b3916ce36fdbcc1f487896efb0dccb
- Change class names to start with Xfrm or StructXfrm for consistency
with other messages and structs
- Create xfrm sub-folder for xfrm messages
- Add "finals" to input parameters
Bug: 308011229
Test: atest NetworkStaticLibTests:com.android.net.moduletests.util.netlink
(new tests added)
Change-Id: Id6d34b4549bbc1890b3f4dd9f1638977f66e3236
Networking bpf (including cgroup related portions)
was mainlined in Android T.
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I779584828f03caa2d61d5081cb3d39566db9b9de
Maciej Żenczykowskicommited 2023-11-16 01:57:46 +00:00
Since the first mainline eBPF code (for Tethering offload)
landed in Android S.
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ifb44a43a98e7f0ff4cd59017b47f64eff30ee715
Maciej Żenczykowskicommited 2023-11-16 01:45:46 +00:00
we can't use java for this, because pre-U-QPR2 does not include:
https://android-review.googlesource.com/c/platform/system/sepolicy/+/2821590
system_server dontaudit key_socket getopt
so we'll spew lots of:
11-08 07:52:43.776 1469 1469 I auditd : type=1400 audit(0.0:4): avc: denied { getopt } for comm="system_server" scontext=u:r:system_server:s0 tcontext=u:r:system_server:s0 tclass=key_socket permissive=0
11-08 07:52:44.360 1469 1469 I auditd : type=1400 audit(0.0:5): avc: denied { getopt } for comm="NetworkStats" scontext=u:r:system_server:s0 tcontext=u:r:system_server:s0 tclass=key_socket permissive=0
11-08 07:52:44.508 1469 1469 I auditd : type=1400 audit(0.0:7): avc: denied { getopt } for comm="android.bg" scontext=u:r:system_server:s0 tcontext=u:r:system_server:s0 tclass=key_socket permissive=0
and the like.
This is due to Java's Os.close() in:
libcore/luni/src/main/java/libcore/io/BlockGuardOs.java;l=100
calling:
if (fd.isSocket$()) if (isLingerSocket(fd)) ...
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ib87fa5e8f0dfd9fbbccb25fb58a9fa78d6a07111
Maciej Żenczykowskicommited 2023-11-09 11:08:58 +00:00