mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-25 17:59:25 +01:00
monitor: Try to enable PACKET_MR_ALLMULTI on netlink monitor device
This commit is contained in:
parent
b5b292ee25
commit
933ac55cce
@ -1144,6 +1144,7 @@ static struct l_io *open_packet(const char *name)
|
||||
{
|
||||
struct l_io *io;
|
||||
struct sockaddr_ll sll;
|
||||
struct packet_mreq mr;
|
||||
struct ifreq ifr;
|
||||
int fd;
|
||||
|
||||
@ -1172,6 +1173,19 @@ static struct l_io *open_packet(const char *name)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
memset(&mr, 0, sizeof(mr));
|
||||
mr.mr_ifindex = ifr.ifr_ifindex;
|
||||
mr.mr_type = PACKET_MR_ALLMULTI;
|
||||
|
||||
if (setsockopt(fd, SOL_PACKET, PACKET_ADD_MEMBERSHIP,
|
||||
&mr, sizeof(mr) < 0)) {
|
||||
perror("Failed to enable all multicast");
|
||||
if (errno != EINVAL) {
|
||||
close(fd);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
io = l_io_new(fd);
|
||||
|
||||
l_io_set_close_on_destroy(io, true);
|
||||
|
Loading…
Reference in New Issue
Block a user