summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2020-10-26 16:19:24 +0100
committerLennart Poettering <lennart@poettering.net>2020-10-27 14:12:10 +0100
commit2d6d4136cdad5cde1f7fa8b54e427383645ab5fe (patch)
tree5c548e1e069bc8269fb309611946c77be08a8974
parentc758bea7222662e6a43626ea66623f1efabbf32c (diff)
downloadsystemd-2d6d4136cdad5cde1f7fa8b54e427383645ab5fe.tar.gz
socket-util: make socket_set_recvpktinfo control PACKET_AUXDATA sockopt on AF_PACKET
Just for the sake of completness.
-rw-r--r--man/systemd.socket.xml9
-rw-r--r--src/basic/socket-util.c3
2 files changed, 8 insertions, 4 deletions
diff --git a/man/systemd.socket.xml b/man/systemd.socket.xml
index a1e4284763..8ec662c3ac 100644
--- a/man/systemd.socket.xml
+++ b/man/systemd.socket.xml
@@ -697,10 +697,11 @@
<varlistentry>
<term><varname>PassPacketInfo=</varname></term>
<listitem><para>Takes a boolean value. This controls the <constant>IP_PKTINFO</constant>,
- <constant>IPV6_RECVPKTINFO</constant> and <constant>NETLINK_PKTINFO</constant> socket options, which
- enable reception of additional per-packet metadata as ancillary message, on
- <constant>AF_INET</constant>, <constant>AF_INET6</constant> and <constant>AF_UNIX</constant> sockets.
- Defaults to <option>false</option>.</para></listitem>
+ <constant>IPV6_RECVPKTINFO</constant>, <constant>NETLINK_PKTINFO</constant> or
+ <constant>PACKET_AUXDATA</constant> socket options, which enable reception of additional per-packet
+ metadata as ancillary message, on <constant>AF_INET</constant>, <constant>AF_INET6</constant>,
+ <constant>AF_UNIX</constant> and <constant>AF_PACKET</constant> sockets. Defaults to
+ <option>false</option>.</para></listitem>
</varlistentry>
<varlistentry>
diff --git a/src/basic/socket-util.c b/src/basic/socket-util.c
index f2e1148e87..6f57b2a3c4 100644
--- a/src/basic/socket-util.c
+++ b/src/basic/socket-util.c
@@ -1240,6 +1240,9 @@ int socket_set_recvpktinfo(int fd, int af, bool b) {
case AF_NETLINK:
return setsockopt_int(fd, SOL_NETLINK, NETLINK_PKTINFO, b);
+ case AF_PACKET:
+ return setsockopt_int(fd, SOL_PACKET, PACKET_AUXDATA, b);
+
default:
return -EAFNOSUPPORT;
}