From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Ahern Subject: Re: [PATCH RFC v2 net-next 00/21] net/ipv6: Separate data structures for FIB and data path Date: Sun, 25 Mar 2018 09:09:53 -0600 Message-ID: References: <20180319033622.16693-1-dsahern@gmail.com> <20180324150516.GA8940@splinter> <20180324155957.GA15120@splinter> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, davem@davemloft.net, roopa@cumulusnetworks.com, eric.dumazet@gmail.com, weiwan@google.com, kafai@fb.com, yoshfuji@linux-ipv6.org To: Ido Schimmel Return-path: Received: from mail-pf0-f181.google.com ([209.85.192.181]:35506 "EHLO mail-pf0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753321AbeCYPJ4 (ORCPT ); Sun, 25 Mar 2018 11:09:56 -0400 Received: by mail-pf0-f181.google.com with SMTP id u86so774013pfd.2 for ; Sun, 25 Mar 2018 08:09:56 -0700 (PDT) In-Reply-To: <20180324155957.GA15120@splinter> Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 3/24/18 9:59 AM, Ido Schimmel wrote: >> As you know, my preference is to move to nexthop objects (makes fib6_nh >> optional). I have IPv4 done; IPv6 requires this patch set. > > After going over your presentation [1] I was under the impression that > the fib6_info will be optional, not fib6_nh: "Idea is similar to adding > id to fib_info that is exposed to userspace. Subsequent routes pass id > to avoid fib_info overhead". Just using that as an analogy to explain the idea in terms of something that already exists. > > But I think misunderstood you. You want to introduce the nexthop API > that will allow you to have multiple fib6_info pointing to the same > fib6_nh? > > 1. http://vger.kernel.org/netconf2017_files/nexthop-objects.pdf > I see nexthop specs as device, gateway, lwtunnel_state and flags. That's the basic building block. A nexthop group is multiple nexthops where each nexthop in the group as its own weight. The fib_info struct has more than that -- data unrelated to a netxthop and is really a next level struct.