From 572b51eaf7221935bdec454796989ba8318fa6f3 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Thu, 7 Mar 2019 14:06:33 +0100 Subject: [PATCH] unix: add SetsockoptPacketMreq on Linux MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add SetsockoptPacketMreq to set packet socket options used to configure physical-layer multi‐casting and promiscuous mode (PACKET_ADD_MEMBERSHIP, PACKET_DROP_MEMBERSHIP). Change-Id: I0f292315ad1c57e6a3d1dd12f5f29be70d8bfd54 Reviewed-on: https://go-review.googlesource.com/c/sys/+/165977 Run-TryBot: Tobias Klauser TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- unix/syscall_linux.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/unix/syscall_linux.go b/unix/syscall_linux.go index fea1fb33..7e429ab2 100644 --- a/unix/syscall_linux.go +++ b/unix/syscall_linux.go @@ -1022,6 +1022,10 @@ func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) { return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) } +func SetsockoptPacketMreq(fd, level, opt int, mreq *PacketMreq) error { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) +} + // SetsockoptSockFprog attaches a classic BPF or an extended BPF program to a // socket to filter incoming packets. See 'man 7 socket' for usage information. func SetsockoptSockFprog(fd, level, opt int, fprog *SockFprog) error {