From patchwork Wed Aug 15 23:08:55 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mahesh Bandewar X-Patchwork-Id: 958057 X-Patchwork-Delegate: shemminger@vyatta.com Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=bandewar.net Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=bandewar-net.20150623.gappssmtp.com header.i=@bandewar-net.20150623.gappssmtp.com header.b="pdH3UjPf"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 41rQC15dTfz9sC2 for ; Thu, 16 Aug 2018 09:09:17 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728604AbeHPCDR (ORCPT ); Wed, 15 Aug 2018 22:03:17 -0400 Received: from mail-pl0-f65.google.com ([209.85.160.65]:44519 "EHLO mail-pl0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728580AbeHPCDR (ORCPT ); Wed, 15 Aug 2018 22:03:17 -0400 Received: by mail-pl0-f65.google.com with SMTP id ba4-v6so1102049plb.11 for ; Wed, 15 Aug 2018 16:08:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bandewar-net.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=WcbEiLvBtXDxINI2VpkUtN+wkvJ9k875ix2afVdqCjo=; b=pdH3UjPfR1/VCzbwSXuRJskGeTbpYgZBh0WIedlZ2qBEsgMbF5+/Z1daFSPtvUYyl9 K5HAhZVqJiV7LQwtQLavMZ+tnF77x1w9dz7KRSNo3e+MhqHXtzL/1+HPp+BCCMUTEK5T RjaJVhxZKNTQMYYlnk2WSqonEsCYJ6lBbCjF410oNS05urcZlXz1mGV719YE8i2Yr722 eQQASSiESQRA3GuNfwQ+BdEwtAMwqmbOJLw3eme5HectUtoMzeXgfE0fZy5w2qz+MA9Z dgJkjdlXZCr6+45qE+gAPsTkOcnapPCfDK/k2aUjU2eJqZ90068xyrWBTRfWCyJRSgbq NUkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=WcbEiLvBtXDxINI2VpkUtN+wkvJ9k875ix2afVdqCjo=; b=jJJzEyGlN4oQFsIxz7nhY7m/XSxyfdGUPRCthQdUf2ZaADgao8Uxbnx8DUKPAnd4vs vYIOnwn7cHIaV2ph9fU+GCSfaIvxL9RPFwJl6XTRTlDJCfSM000u2n8y9nw3hwH2Rz7e RBWeMjpSWRbzhTDnEN5bND2cLPseuMheGUWfYhl1dTCeB1FJwWdv66aYnB2F6iHPyXl1 65Y4qZZZOHLqTs34I2yvOEzEDTzm/NFuPQRKVYC04TBXIggenOqIK3rNpX7h/UWMQVmu N9QANcTSUMb0wpBXxje718bVbFPnm8Td0zQ/LFhJJmS4xnqjP9LCUopJAnW3OL7FPSb0 1IaA== X-Gm-Message-State: AOUpUlH08zLwiKC8/PQ8Rm4rhdeG42d6eRuzTzowjnVtT+eL6aSwuErf kGJF7L5QTJcYg4XiJqjOAmUQCw== X-Google-Smtp-Source: AA+uWPx8DSdhLroU52S8MSbXQna0mCdHefPxBKRxsd5jk8r98Tgp9sM4kVeJl5MqzKO0SS/CE+p5Ow== X-Received: by 2002:a17:902:8a90:: with SMTP id p16-v6mr26023186plo.106.1534374539608; Wed, 15 Aug 2018 16:08:59 -0700 (PDT) Received: from localhost ([2620:15c:2c4:201:c7f9:6225:a527:f3a4]) by smtp.gmail.com with ESMTPSA id y85-v6sm47599177pfa.170.2018.08.15.16.08.58 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 15 Aug 2018 16:08:59 -0700 (PDT) From: Mahesh Bandewar To: Stephen Hemminger Cc: netdev , Mahesh Bandewar Subject: [PATCH iproute2] ipmaddr: use preferred_family when given Date: Wed, 15 Aug 2018 16:08:55 -0700 Message-Id: <20180815230855.130278-1-mahesh@bandewar.net> X-Mailer: git-send-email 2.18.0.865.gffc8e1a3cd6-goog MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Mahesh Bandewar When creating socket() AF_INET is used irrespective of the family that is given at the command-line (with -4, -6, or -0). This change will open the socket with the preferred family. Signed-off-by: Mahesh Bandewar --- ip/ipmaddr.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/ip/ipmaddr.c b/ip/ipmaddr.c index a48499029e17..abf83784d0df 100644 --- a/ip/ipmaddr.c +++ b/ip/ipmaddr.c @@ -289,6 +289,7 @@ static int multiaddr_list(int argc, char **argv) static int multiaddr_modify(int cmd, int argc, char **argv) { struct ifreq ifr = {}; + int family; int fd; if (cmd == RTM_NEWADDR) @@ -324,7 +325,17 @@ static int multiaddr_modify(int cmd, int argc, char **argv) exit(-1); } - fd = socket(AF_INET, SOCK_DGRAM, 0); + switch (preferred_family) { + case AF_INET6: + case AF_PACKET: + case AF_INET: + family = preferred_family; + break; + default: + family = AF_INET; + } + + fd = socket(family, SOCK_DGRAM, 0); if (fd < 0) { perror("Cannot create socket"); exit(1);