From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lb0-f177.google.com (mail-lb0-f177.google.com [209.85.217.177]) by dpdk.org (Postfix) with ESMTP id 5056BC674 for ; Tue, 23 Jun 2015 09:19:59 +0200 (CEST) Received: by lbbvz5 with SMTP id vz5so930432lbb.0 for ; Tue, 23 Jun 2015 00:19:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=uoMnGrI+KZnEQHkTVl26x0QA9vAaXJMvcioCk5/tCSE=; b=lIT1Q5rTs+etbvCB2Y6VZqWOhs6IRnaPS8gOIwCqcf3B/XgWsQ8KdwO1FdyDOi+KME q9FlTrr2hYH20suCDW8IIJuHAvDgtAQsl5zZhRdxzW7CL1vC3+Y1yCXeWiBhwhylrlxm F820bDXyekO4l0Ang23LcC0gUoDFh3OU21P9K9OSegKWnUvXK6j8Hjq8mCqQNKfnUEWv 3R2cnLUYeDk/tCfuajv16QmyhOigsCadPCWyi/KHWfFvwFlcHHBYNHuu7R1g4S4E1JF9 XdmKLT7u9ytMlxq8zBir9Dz1QhYeW3DcQEF4gpR7TlH4JcRr3t+tdAGySTk1i/2jgsBb np/g== MIME-Version: 1.0 X-Received: by 10.152.45.9 with SMTP id i9mr33064181lam.87.1435043998864; Tue, 23 Jun 2015 00:19:58 -0700 (PDT) Received: by 10.114.10.229 with HTTP; Tue, 23 Jun 2015 00:19:58 -0700 (PDT) In-Reply-To: <20150623063024.GA3458@mhcomputing.net> References: <5A3882CB-0DE0-43DB-8DCA-051D561AA943@mhcomputing.net> <20150622175302.GA15788@mhcomputing.net> <20150622235102.41c3619a@uryu.home.lan> <20150623063024.GA3458@mhcomputing.net> Date: Tue, 23 Jun 2015 10:19:58 +0300 Message-ID: From: Vladimir Medvedkin To: Matthew Hall Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Cc: "" Subject: Re: [dpdk-dev] rte_lpm with larger nexthops or another method? X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Jun 2015 07:19:59 -0000 Hi all, Matthew, I think ipv6 lpm code need less changes struct rte_lpm6_tbl_entry { uint32_t next_hop: 21; /**< Next hop / next table to be checked. */ uint32_t depth :8; /**< Rule depth. */ /* Flags. */ uint32_t valid :1; /**< Validation flag. */ uint32_t valid_group :1; /**< Group validation flag. */ uint32_t ext_entry :1; /**< External entry. */ }; there already is 21 bit for next_hop (need chenge only for rte_lpm6_rule) In Stephen approach for next_hop given only 16 bits, this is enough for next hop index, but not enough for AS number that originate prefix. Regards, Vladimir 2015-06-23 9:30 GMT+03:00 Matthew Hall : > On Mon, Jun 22, 2015 at 11:51:02PM -0400, Stephen Hemminger wrote: > > In order to make Vyatta/Brocade router work with LPM code > > I ended up redoing the layout. It is: > > > > And also several other scalability improvements (plus IPv6) > > and the correct handling of /32. > > > > Unfortunately, this is such a big binary change that I was > > reluctant to break any tests or applications using existing code > > and therefore never submitted the patches. > > 1. What you and Vladimir have done to this code kicks total ass and will > be a > huge help so I am very excited to squeeze in some cycles somewhere to test > all > of this stuff out ASAP. > > 2. Vladimir's changes were somewhat smaller, but Stephen yours are larger. > Stephen, if you could place them into a cloned copy of DPDK or a branch > somewhere for convenient pickup, I think I could help you make a lot of > progress. > > I could help test these fixes in a second app besides your own to get some > cross validation, and help make the required cleanups, so we could get a > bit > more external validation before we try to negotiate a safe way to merge > them > upstream to Bruce since he is marked as the LPM maintainer. > > My DPDK fork is located here, for example, but it could really be anywhere > you > like to put it which I could access. Or even a one-off zip or tarball with > the > git repo inside and I could host it in my fork or give you access on the > fork > to push it as a second remote if you are OK to do that... > > https://github.com/megahall/dpdk_mhall > > Matthew. >