Add IFF_MULTICAST to test interfaces

This allows using test interfaces for multicast scenarios, such as
testing mDNS behavior.

Test: atest CtsNetTestCases
Change-Id: Ib5d8a997176f910d499021fdcd12c361aff1233d
This commit is contained in:
Remi NGUYEN VAN 2021-10-13 14:41:58 +00:00
commit 6fc44359eb

View file

@ -66,6 +66,8 @@ static int createTunTapInterface(JNIEnv* env, bool isTun, const char* iface) {
// Activate interface using an unconnected datagram socket.
base::unique_fd inet6CtrlSock(socket(AF_INET6, SOCK_DGRAM, 0));
ifr.ifr_flags = IFF_UP;
// Mark TAP interfaces as supporting multicast
if (!isTun) ifr.ifr_flags |= IFF_MULTICAST;
if (ioctl(inet6CtrlSock.get(), SIOCSIFFLAGS, &ifr)) {
throwException(env, errno, "activating", ifr.ifr_name);