From: "Medvedkin, Vladimir" <vladimir.medvedkin@intel.com>
To: Ruifeng Wang <Ruifeng.Wang@arm.com>,
David Marchand <david.marchand@redhat.com>
Cc: Bruce Richardson <bruce.richardson@intel.com>, dev <dev@dpdk.org>,
Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>,
nd <nd@arm.com>, Kevin Traynor <ktraynor@redhat.com>,
"thomas@monjalon.net" <thomas@monjalon.net>
Subject: Re: [dpdk-dev] [PATCH v2 2/2] lpm: hide internal data
Date: Fri, 23 Oct 2020 17:08:21 +0100 [thread overview]
Message-ID: <5b558902-f7c1-7da4-3ac8-830fdeaeb6e6@intel.com> (raw)
In-Reply-To: <VI1PR0802MB2351440D226F82C7BF4016B09E1A0@VI1PR0802MB2351.eurprd08.prod.outlook.com>
Hello,
On 23/10/2020 07:13, Ruifeng Wang wrote:
>
>> -----Original Message-----
>> From: David Marchand <david.marchand@redhat.com>
>> Sent: Thursday, October 22, 2020 11:14 PM
>> To: Ruifeng Wang <Ruifeng.Wang@arm.com>
>> Cc: Bruce Richardson <bruce.richardson@intel.com>; Vladimir Medvedkin
>> <vladimir.medvedkin@intel.com>; dev <dev@dpdk.org>; Honnappa
>> Nagarahalli <Honnappa.Nagarahalli@arm.com>; nd <nd@arm.com>; Kevin
>> Traynor <ktraynor@redhat.com>; thomas@monjalon.net
>> Subject: Re: [PATCH v2 2/2] lpm: hide internal data
>>
>> On Wed, Oct 21, 2020 at 5:02 AM Ruifeng Wang <ruifeng.wang@arm.com>
>> wrote:
>>> diff --git a/lib/librte_lpm/rte_lpm.c b/lib/librte_lpm/rte_lpm.c index
>>> 51a0ae578..88d31df6d 100644
>>> --- a/lib/librte_lpm/rte_lpm.c
>>> +++ b/lib/librte_lpm/rte_lpm.c
>>> @@ -42,9 +42,17 @@ enum valid_flag {
>>>
>>> /** @internal LPM structure. */
>>> struct __rte_lpm {
>>> - /* LPM metadata. */
>>> + /* Exposed LPM data. */
>>> struct rte_lpm lpm;
>>>
>>> + /* LPM metadata. */
>>> + char name[RTE_LPM_NAMESIZE]; /**< Name of the lpm. */
>>> + uint32_t max_rules; /**< Max. balanced rules per lpm. */
>>> + uint32_t number_tbl8s; /**< Number of tbl8s. */
>>> + /**< Rule info table. */
>>> + struct rte_lpm_rule_info rule_info[RTE_LPM_MAX_DEPTH];
>>> + struct rte_lpm_rule *rules_tbl; /**< LPM rules. */
>>
>> - We hide the rules, is there a reason to keep struct rte_lpm_rule_info and
>> struct rte_lpm_rule exposed?
>>
> These structs can be moved into rte_lpm.c and made internal too.
Agree, these structs are control plane related and could be moved from
public struct.
>
>> - Rather than have translations lpm -> i_lpm, in many places of this library, we
>> should translate only in the functions exposed to the user.
>> Besides, it is a bit hard to read between internal_lpm and i_lpm, I would
>> adopt a single i_lpm convention for the whole file.
>> I went and tried to do it (big search and replace + build tests, no runtime
>> check though).
>> This results in:
>> https://github.com/david-
>> marchand/dpdk/commit/4e61f0ce7cf2ac472565d3c6aa5bb78ffb8f70c9
>>
>> What do you think?
>>
> I'm fine with the change. It looks good.
> I checked unit test is passing.
>
Also checked with testfib app with "-c -a" args, FIB and LPM lookup
returns same values.
> Thanks.
> /Ruifeng
>>
>> --
>> David Marchand
>
--
Regards,
Vladimir
next prev parent reply other threads:[~2020-10-23 16:09 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-07 8:15 [dpdk-dev] [PATCH 0/2] LPM changes Ruifeng Wang
2020-09-07 8:15 ` [dpdk-dev] [PATCH 1/2] lpm: fix free of data structure Ruifeng Wang
2020-09-15 15:55 ` Bruce Richardson
2020-09-15 16:25 ` Medvedkin, Vladimir
2020-09-07 8:15 ` [dpdk-dev] [PATCH 2/2] lpm: hide internal data Ruifeng Wang
2020-09-15 16:02 ` Bruce Richardson
2020-09-15 16:28 ` Medvedkin, Vladimir
2020-09-16 3:17 ` Ruifeng Wang
2020-09-30 8:45 ` Kevin Traynor
2020-10-09 6:54 ` Ruifeng Wang
2020-10-13 13:53 ` Kevin Traynor
2020-10-13 14:58 ` Michel Machado
2020-10-13 15:41 ` Medvedkin, Vladimir
2020-10-13 17:46 ` Michel Machado
2020-10-13 19:06 ` Medvedkin, Vladimir
2020-10-13 19:48 ` Michel Machado
2020-10-14 13:10 ` Medvedkin, Vladimir
2020-10-14 23:57 ` Honnappa Nagarahalli
2020-10-15 13:39 ` Michel Machado
2020-10-15 17:38 ` Honnappa Nagarahalli
2020-10-15 19:30 ` Medvedkin, Vladimir
2020-10-15 22:54 ` Honnappa Nagarahalli
2020-10-16 11:39 ` Kevin Traynor
2020-10-16 13:55 ` Michel Machado
2020-10-19 14:53 ` David Marchand
2020-10-20 14:22 ` Thomas Monjalon
2020-10-20 14:32 ` Medvedkin, Vladimir
2020-10-19 17:53 ` Honnappa Nagarahalli
2020-09-15 14:41 ` [dpdk-dev] [PATCH 0/2] LPM changes David Marchand
2020-10-19 13:37 ` Kevin Traynor
2020-10-21 3:02 ` [dpdk-dev] [PATCH v2 " Ruifeng Wang
2020-10-21 3:02 ` [dpdk-dev] [PATCH v2 1/2] lpm: fix free of data structure Ruifeng Wang
2020-10-21 3:02 ` [dpdk-dev] [PATCH v2 2/2] lpm: hide internal data Ruifeng Wang
2020-10-21 7:58 ` Thomas Monjalon
2020-10-21 8:15 ` Ruifeng Wang
2020-10-22 15:14 ` David Marchand
2020-10-23 6:13 ` Ruifeng Wang
2020-10-23 16:08 ` Medvedkin, Vladimir [this message]
2020-10-23 9:38 ` [dpdk-dev] [PATCH v3 0/2] LPM changes David Marchand
2020-10-23 9:38 ` [dpdk-dev] [PATCH v3 1/2] lpm: fix free of data structure David Marchand
2020-10-23 9:38 ` [dpdk-dev] [PATCH v3 2/2] lpm: hide internal data David Marchand
2020-10-26 8:26 ` [dpdk-dev] [PATCH v3 0/2] LPM changes David Marchand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5b558902-f7c1-7da4-3ac8-830fdeaeb6e6@intel.com \
--to=vladimir.medvedkin@intel.com \
--cc=Honnappa.Nagarahalli@arm.com \
--cc=Ruifeng.Wang@arm.com \
--cc=bruce.richardson@intel.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=ktraynor@redhat.com \
--cc=nd@arm.com \
--cc=thomas@monjalon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).