From patchwork Thu Mar 24 17:01:24 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 88247 X-Patchwork-Delegate: davem@davemloft.net 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 32EF0B6F8F for ; Fri, 25 Mar 2011 04:02:44 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933509Ab1CXRCI (ORCPT ); Thu, 24 Mar 2011 13:02:08 -0400 Received: from mail-fx0-f46.google.com ([209.85.161.46]:51016 "EHLO mail-fx0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933540Ab1CXRCF (ORCPT ); Thu, 24 Mar 2011 13:02:05 -0400 Received: by fxm17 with SMTP id 17so231326fxm.19 for ; Thu, 24 Mar 2011 10:02:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:subject:from:to:cc:in-reply-to:references :content-type:date:message-id:mime-version:x-mailer :content-transfer-encoding; bh=EkELY4MKKOYynRp0S8OaIrN8aI9UXP1FrYO0MzDtyfQ=; b=PbRZB7BLxJIE5jAMPhUiIqPQzi6tbdxY+N2oNdZmXnhNQM+Ode+bGBu92XGDQIFQBJ 6VmD7N9isrGZ5TFiZCxqLwEHYi0cyOIKkxAlXzfgV3JZdE8NLw8pbgiJXCx5SSLGv4U9 idQYys9+KfrE5c3dIxxO58yTRHuSUfvXmmrfs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:from:to:cc:in-reply-to:references:content-type:date :message-id:mime-version:x-mailer:content-transfer-encoding; b=TC2SZyJDX3WHf8UMXR9gRliHUeHmhMmapiNXHuONENtLYimYQX0V7JFv7sBY5Yagwh R7yrfmKOGNZrRWvxIWVzLXVm0zO/RGl9Gs8yDDKDglFrBxzbDXoR/Ar7O1/itYJSoS8e F9FVpLS9rF0t2jFB239xbHA1+WH+THD33o6NU= Received: by 10.223.143.16 with SMTP id s16mr716718fau.57.1300986087759; Thu, 24 Mar 2011 10:01:27 -0700 (PDT) Received: from [10.150.51.210] (gw0.net.jmsp.net [212.23.165.14]) by mx.google.com with ESMTPS id n26sm52027fam.13.2011.03.24.10.01.26 (version=SSLv3 cipher=OTHER); Thu, 24 Mar 2011 10:01:27 -0700 (PDT) Subject: [PATCH] ipv4: fix fib metrics From: Eric Dumazet To: Alessandro Suardi , David Miller Cc: linux-kernel@vger.kernel.org, netdev In-Reply-To: <1300983340.3747.44.camel@edumazet-laptop> References: <1300980118.3747.42.camel@edumazet-laptop> <1300983340.3747.44.camel@edumazet-laptop> Date: Thu, 24 Mar 2011 18:01:24 +0100 Message-ID: <1300986084.3747.101.camel@edumazet-laptop> Mime-Version: 1.0 X-Mailer: Evolution 2.30.3 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Le jeudi 24 mars 2011 à 17:15 +0100, Eric Dumazet a écrit : > I am testing following patch : > > diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c > index 622ac4c..654ef5b 100644 > --- a/net/ipv4/fib_semantics.c > +++ b/net/ipv4/fib_semantics.c > @@ -251,7 +251,7 @@ static struct fib_info *fib_find_info(const struct fib_info *nfi) > nfi->fib_prefsrc == fi->fib_prefsrc && > nfi->fib_priority == fi->fib_priority && > memcmp(nfi->fib_metrics, fi->fib_metrics, > - sizeof(fi->fib_metrics)) == 0 && > + sizeof(u32) * RTAX_MAX) == 0 && > ((nfi->fib_flags ^ fi->fib_flags) & ~RTNH_F_DEAD) == 0 && > (nfi->fib_nhs == 0 || nh_comp(fi, nfi) == 0)) > return fi; > > This works. Here is the formal submission : Thanks ! [PATCH] ipv4: fix fib metrics Alessandro Suardi reported that we could not change route metrics : ip ro change default .... advmss 1400 This regression came with commit 9c150e82ac50 (Allocate fib metrics dynamically). fib_metrics is no longer an array, but a pointer to an array. Reported-by: Alessandro Suardi Signed-off-by: Eric Dumazet Tested-by: Alessandro Suardi --- net/ipv4/fib_semantics.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 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/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c index 622ac4c..75b9fb5 100644 --- a/net/ipv4/fib_semantics.c +++ b/net/ipv4/fib_semantics.c @@ -251,7 +251,7 @@ static struct fib_info *fib_find_info(const struct fib_info *nfi) nfi->fib_prefsrc == fi->fib_prefsrc && nfi->fib_priority == fi->fib_priority && memcmp(nfi->fib_metrics, fi->fib_metrics, - sizeof(fi->fib_metrics)) == 0 && + sizeof(u32) * RTAX_MAX) == 0 && ((nfi->fib_flags ^ fi->fib_flags) & ~RTNH_F_DEAD) == 0 && (nfi->fib_nhs == 0 || nh_comp(fi, nfi) == 0)) return fi;