ipv6: process socket-level control messages in IPv6
authorSoheil Hassas Yeganeh <soheil@google.com>
Sun, 3 Apr 2016 03:08:11 +0000 (23:08 -0400)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Apr 2016 19:50:30 +0000 (15:50 -0400)
commitad1e46a837163a3e7160a1250825bcfafd2e714b
treef02d47ab7df711de7a6794fe54eae6768eb7b30f
parent24025c465f77c3585f73450bab19501b2edd6fba
ipv6: process socket-level control messages in IPv6

Process socket-level control messages by invoking
__sock_cmsg_send in ip6_datagram_send_ctl for control messages on
the SOL_SOCKET layer.

This makes sure whenever ip6_datagram_send_ctl is called for
udp and raw, we also process socket-level control messages.

This is a bit uglier than IPv4, since IPv6 does not have
something like ipcm_cookie. Perhaps we can later create
a control message cookie for IPv6?

Note that this commit interprets new control messages that
were ignored before. As such, this commit does not change
the behavior of IPv6 control messages.

Signed-off-by: Soheil Hassas Yeganeh <soheil@google.com>
Acked-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/transp_v6.h
net/ipv6/datagram.c
net/ipv6/ip6_flowlabel.c
net/ipv6/ipv6_sockglue.c
net/ipv6/raw.c
net/ipv6/udp.c
net/l2tp/l2tp_ip6.c