From patchwork Fri Apr 4 17:07:20 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cong Wang X-Patchwork-Id: 337060 X-Patchwork-Delegate: shemminger@vyatta.com Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id EB53B1400BD for ; Sat, 5 Apr 2014 04:07:42 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753537AbaDDRHi (ORCPT ); Fri, 4 Apr 2014 13:07:38 -0400 Received: from mail-pa0-f52.google.com ([209.85.220.52]:63528 "EHLO mail-pa0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753113AbaDDRHh (ORCPT ); Fri, 4 Apr 2014 13:07:37 -0400 Received: by mail-pa0-f52.google.com with SMTP id rd3so3758982pab.11 for ; Fri, 04 Apr 2014 10:07:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=GVQd/+AL0jCfXfkW08jk4Q+pvrF9wU9geIDhDgNR0cE=; b=J4lGIwGCad8Clk6qttnFWUbOBMFeVJMwAjmLbiS0u7yQHJKqFL8cX63gxvVlhHm7Sh niKKmQb2q37RcsMTCAUmvWHGe1NxTtK/QSdwdbSMrHHZ4rL5UUgBWOTzoiQ7Lx+OPRhb HzU9vJUIr/M2l1fehcbCwGiG5fLAQNCv3b/V/uDdBaMIvRisWHW+pDneGe7AyU2bjc60 BSz/eBOdUxb+nTyBIWJmtOsW+8HsxmxmFJ3zC0mNHJyeHkF8Qz/XMNdXLa9QDtyGdEyo Z8ApmQ366V3xN8f+yPk+zmq5Oky6TNo9hScxJIZt/iUKD7/pQ/vQMox4dRCrRMGV2LMx IRuQ== X-Received: by 10.68.248.7 with SMTP id yi7mr16314024pbc.31.1396631256959; Fri, 04 Apr 2014 10:07:36 -0700 (PDT) Received: from junwang.sf.office.twttr.net ([8.25.197.24]) by mx.google.com with ESMTPSA id pq3sm18937322pbb.57.2014.04.04.10.07.35 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Fri, 04 Apr 2014 10:07:36 -0700 (PDT) From: Cong Wang To: netdev@vger.kernel.org Cc: davem@davemloft.net, Jiri Pirko , Stephen Hemminger , Cong Wang Subject: [Patch iproute2 v2] ipaddress: do not add IFA_FLAGS when not necessary Date: Fri, 4 Apr 2014 10:07:20 -0700 Message-Id: <1396631240-14924-1-git-send-email-xiyou.wangcong@gmail.com> X-Mailer: git-send-email 1.7.11.7 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org commit 37c9b94ed21d5779acc23d89a4 (add support for extended ifa_flags) introduced a regression: # ./ip/ip addr add 192.168.0.1/24 dev eth0 RTNETLINK answers: Invalid argument This is due to old kernels don't support IFA_FLAGS flag, we should not use it if we don't use the flags beyond old .ifa_flags. Cc: Jiri Pirko Cc: Stephen Hemminger Signed-off-by: Cong Wang --- -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/ip/ipaddress.c b/ip/ipaddress.c index 14d1720..e3be5b2 100644 --- a/ip/ipaddress.c +++ b/ip/ipaddress.c @@ -1398,8 +1398,10 @@ static int ipaddr_modify(int cmd, int flags, int argc, char **argv) } argc--; argv++; } - req.ifa.ifa_flags = ifa_flags; - addattr32(&req.n, sizeof(req), IFA_FLAGS, ifa_flags); + if (ifa_flags <= 0xff) + req.ifa.ifa_flags = ifa_flags; + else + addattr32(&req.n, sizeof(req), IFA_FLAGS, ifa_flags); if (d == NULL) { fprintf(stderr, "Not enough information: \"dev\" argument is required.\n");