From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D2C77C10F11 for ; Wed, 10 Apr 2019 17:05:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9283F2082E for ; Wed, 10 Apr 2019 17:05:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1554915931; bh=eGLrE6ohuOkFkxIoA/1t2wL5G6nHo9MGoZDHZdk45bA=; h=From:To:Cc:Subject:Date:List-ID:From; b=Gu1ezTYVuE97JBJgkEEG2OiaxXSZynXTFM//W9Q/bCdLKwgvLxu/HUhJyxU/X3km/ x/XIar+FC25XoCcPDz6vI/ZqhJRL1WU1fOqbmQ6OGK2DDBPnYwDgl7vCseoRTLPr1G qlcvOiVf/hF3ZJeYGrf2oC6D6QOnjE5N47lh3Vq8= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728708AbfDJRFa (ORCPT ); Wed, 10 Apr 2019 13:05:30 -0400 Received: from mail.kernel.org ([198.145.29.99]:36018 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728668AbfDJRFa (ORCPT ); Wed, 10 Apr 2019 13:05:30 -0400 Received: from kenny.it.cumulusnetworks.com. (fw.cumulusnetworks.com [216.129.126.126]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 95B5A2082E; Wed, 10 Apr 2019 17:05:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1554915929; bh=eGLrE6ohuOkFkxIoA/1t2wL5G6nHo9MGoZDHZdk45bA=; h=From:To:Cc:Subject:Date:From; b=LCZXh/OUbukWfRvQAlJjUV2lJe2cK68ARjm6fX3N9UkFORTfwLKsqezg1puMcyTzn pArEAaAgC5GT33n/6Xw3zTNipafGCxU2NBOtKtSYzMu5C0Y5zmhpL14BTR+33NkyYa W637F0CbFTGHD7yByAZlNsILRLzPHRB+zLK6ziko= From: David Ahern To: davem@davemloft.net Cc: netdev@vger.kernel.org, David Ahern Subject: [PATCH net-next] ipv4: Handle RTA_GATEWAY set to 0 Date: Wed, 10 Apr 2019 10:05:51 -0700 Message-Id: <20190410170551.27470-1-dsahern@kernel.org> X-Mailer: git-send-email 2.11.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: David Ahern Govindarajulu reported a regression with Network Manager which sends an RTA_GATEWAY attribute with the address set to 0. Fixup the handling of RTA_GATEWAY to only set fc_gw_family if the gateway address is actually set. Fixes: f35b794b3b405 ("ipv4: Prepare fib_config for IPv6 gateway") Reported-by: Govindarajulu Varadarajan Signed-off-by: David Ahern --- net/ipv4/fib_frontend.c | 3 ++- net/ipv4/fib_semantics.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c index 310060e67790..d4b63f94f7be 100644 --- a/net/ipv4/fib_frontend.c +++ b/net/ipv4/fib_frontend.c @@ -755,8 +755,9 @@ static int rtm_to_fib_config(struct net *net, struct sk_buff *skb, break; case RTA_GATEWAY: has_gw = true; - cfg->fc_gw_family = AF_INET; cfg->fc_gw4 = nla_get_be32(attr); + if (cfg->fc_gw4) + cfg->fc_gw_family = AF_INET; break; case RTA_VIA: has_via = true; diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c index 017273885eee..779d2be2b135 100644 --- a/net/ipv4/fib_semantics.c +++ b/net/ipv4/fib_semantics.c @@ -616,8 +616,9 @@ static int fib_get_nhs(struct fib_info *fi, struct rtnexthop *rtnh, return -EINVAL; } if (nla) { - fib_cfg.fc_gw_family = AF_INET; fib_cfg.fc_gw4 = nla_get_in_addr(nla); + if (fib_cfg.fc_gw4) + fib_cfg.fc_gw_family = AF_INET; } else if (nlav) { ret = fib_gw_from_via(&fib_cfg, nlav, extack); if (ret) -- 2.11.0