From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Herrmann Subject: [PATCH 3/3] net/ipv6/udp_tunnel: prefer SO_BINDTOIF over SO_BINDTODEVICE Date: Thu, 10 Jan 2019 15:25:29 +0100 Message-ID: <20190110142529.14315-3-dh.herrmann@gmail.com> References: <20190110142529.14315-1-dh.herrmann@gmail.com> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Cc: davem@davemloft.net, teg@jklm.no, David Herrmann To: netdev@vger.kernel.org Return-path: Received: from mail-wm1-f67.google.com ([209.85.128.67]:54795 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727768AbfAJOZt (ORCPT ); Thu, 10 Jan 2019 09:25:49 -0500 Received: by mail-wm1-f67.google.com with SMTP id a62so11456755wmh.4 for ; Thu, 10 Jan 2019 06:25:49 -0800 (PST) In-Reply-To: <20190110142529.14315-1-dh.herrmann@gmail.com> Sender: netdev-owner@vger.kernel.org List-ID: The udp-tunnel setup allows binding sockets to a network device. Prefer the new SO_BINDTOIF to avoid temporarily resolving the device-name just to look it up in the ioctl again. Signed-off-by: David Herrmann --- net/ipv6/ip6_udp_tunnel.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/net/ipv6/ip6_udp_tunnel.c b/net/ipv6/ip6_udp_tunnel.c index ad1a9ccd4b44..f5fd4e05ae81 100644 --- a/net/ipv6/ip6_udp_tunnel.c +++ b/net/ipv6/ip6_udp_tunnel.c @@ -32,18 +32,9 @@ int udp_sock_create6(struct net *net, struct udp_port_cfg *cfg, goto error; } if (cfg->bind_ifindex) { - struct net_device *dev; - - dev = dev_get_by_index(net, cfg->bind_ifindex); - if (!dev) { - err = -ENODEV; - goto error; - } - - err = kernel_setsockopt(sock, SOL_SOCKET, SO_BINDTODEVICE, - dev->name, strlen(dev->name) + 1); - dev_put(dev); - + err = kernel_setsockopt(sock, SOL_SOCKET, SO_BINDTOIF, + (void *)&cfg->bind_ifindex, + sizeof(cfg->bind_ifindex)); if (err < 0) goto error; } -- 2.20.1