This is useful for test code that wants to statically link the IP
checksum code. This is not currently possible because libnetutils
is vendor_available and making it available for static linking is
discouraged.
Test: m libnetutils libipchecksum
Change-Id: Ic7f1864902581b8a5e3626860565b78c168bdb7f
A socket created bound to a specific protocol can receive packets before
it's bound to a specific interface/mac.
It's best to rely on the bind().
This replicates the way packet sockets are created in external/android-clat.
See: ring.c ring_create() and clatd.c configure_packet_socket()
Test: builds, atest
Bug: 155297277
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I569d2b81a396f352ab5d1b71bd5ad0d96217aab1
and clean up the code a little bit while at it.
Test: builds, atest
Bug: 155297277
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I01a10e36f852cde1b93a91f95b51294a434885ab
Currently, any netlink error reported in ifc_act_on_address is
reported as EINVAL, because the receive buffer is too short and
the NLMSG_OK check fails on it.
Make the buffer long enough so the function can return the
correct netlink error to the caller.
Test: new test coverage in other CL in this topic
Change-Id: Ica752db834a0fd614312b800d88721826be08d56
Currently, passing an invalid IP address to interfaceAddAddress
and friends results in an invalid error message:
12-02 13:00:42.675 interfaceAddAddress("testtap2355", "2001:db8::1/64", 64) -> ServiceSpecificException(-8, "InterfaceController error: Unknown error -8") <1.63ms>
This is due to confusion between getaddrinfo error codes and
errno values.
Test: new unit test added to IpClientIntegrationTest
Change-Id: Ifdaa4281a9bcf3998e3216472c5c1df0f5285214
This allows us to use it elsewhere, for example, in netd.
Bug: 65674744
Test: builds, boots
Test: atest clatd_test clatd_microbenchmark
Change-Id: I262ddd4176dabc3b10758fb0b4eb09643aa4911c
As a VNDK module, Android.bp must have 'vndk' tag as well as
'vendor_available: true'.
The 'vndk' tag for VNDK module is formated as below:
vndk: {
enabled: true,
},
VNDK modules will be installed both in system/lib(64) as normal and
in system/lib(64)/vndk as a vendor variant.
Bug: 63866913
Test: build and boot with BOARD_VNDK_VERSION=current
Merged-In: Icecb22ed2ed0f58c3168605d4cf64815e2dda750
Change-Id: Icecb22ed2ed0f58c3168605d4cf64815e2dda750
(cherry picked from commit 9b0ed72942)
As a VNDK module, Android.bp must have 'vndk' tag as well as
'vendor_available: true'.
The 'vndk' tag for VNDK module is formated as below:
vndk: {
enabled: true,
},
VNDK modules will be installed both in system/lib(64) as normal and
in system/lib(64)/vndk as a vendor variant.
Bug: 63866913
Test: build and boot with BOARD_VNDK_VERSION=current
Change-Id: Icecb22ed2ed0f58c3168605d4cf64815e2dda750
libneutils is a library which belongs to vndk-cap. Mark it
vendor_available to enable vndk abi stability checks on it.
Details: https://android-review.googlesource.com/368372
Test: mm -j64
Bug: 38244611
Merged-In: Ief58111dea549224b3bce5cb52fd691d4381fb88
Change-Id: I32938e3e0bcc1e771290d87f561cc06b9b019046
(cherry picked from commit 409731efc1)
libneutils is a library which belongs to vndk-cap. Mark it
vendor_available to enable vndk abi stability checks on it.
Details: https://android-review.googlesource.com/368372
Test: mm -j64
Bug: 38244611
Change-Id: I32938e3e0bcc1e771290d87f561cc06b9b019046
Also print warning that IP will not allow full connectivity.
Test: Manual
Change-Id: I264c478f07236108a01e766c5264897c2000f008
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Despite it is not used for network management, it is
very convenient tool for wifi bringup and debugging.
Test: Manual
Change-Id: I045301acc2dd15d0e68d6b99c8e214865f19ebad
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
See build/soong/README.md for more information.
Test: m -j checkbuild
Bug: 37567578
cherry picked from cafe889aa8
Merged-In: Ia11dffde6fc4d89be6ee651be06b48131c877dc0
Change-Id: Ia11dffde6fc4d89be6ee651be06b48131c877dc0
Go through the code that opens socket in marshmallow, and backport the
SOCK_CLOEXEC usage when opening sockets with AF_NETLINK.
Bug: 31242981
Test: mma
Change-Id: I709fc1dd43a883f95bb99021e1350c062ca35203
Should use android/log.h instead of cutils/log.h as a good example
to all others. Adjust header order to comply with Android Coding
standards.
Test: Compile
Bug: 26552300
Bug: 31289077
Change-Id: I2c9cbbbd64d8dccf2d44356361d9742e4a9b9031
Add a check for socket() errors and make sure to preserve errno over the
subsequent close() calls.
Change-Id: If52d76cd3cb45044eaaf7fea9bfd4471dc66a078
Take and release mutex between ifc_init() and ifc_close()
calls to prevent global ifc_ctl_sock override.
Bug: 22307208
Change-Id: Iacffd329ce2a51defa550c7e33277332045a7b9b
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>