HI Bruce:????How about this, I send you the test program , then you 
can?demonstrate?the?bugs .? ? If you?demonstrate?the?bugs ,then you can get the 
lpm bug's fix into?the?release first.????????Further ,we explicitly discuss the 
details about the unit test and make it a patch of dpdk.????Thank you very much!
Regards
Na Na



????
------------------------------------------------------------------????Bruce 
Richardson <bruce.richardson at intel.com>?????2015?10?29?(???) 18:18??????(??) 
<nana.nn at alibaba-inc.com>????Jijiang Liu <jijiang.liu at intel.com>?dev <dev 
at dpdk.org>????Re: [dpdk-dev] [PATCH] lib/lpm:fix two issues in the 
delete_depth_small()
On?Thu,?Oct?29,?2015?at?10:41:45AM?+0800,?nana.nn?wrote:
>?Hi?Bruce:
>??Should?I?send?the?test?unit?as?a?DPDK?patch,?or?just?the?program?for?you?to?demonstrate?the?bugs??
>?????????
>??
>??Thank?you?very?much!
>?
>?
>?Regards
>?
>?Na?Na
>?

A?patch?to?add?a?unit?test?for?the?bug?would?be?best.
/Bruce

>?
>?
>?
>?On?Oct?28,?2015,?at?10:40?PM,?Bruce?Richardson?<bruce.richardson at 
>intel.com>?wrote:
>?
>?>?On?Wed,?Oct?28,?2015?at?11:44:15AM?+0800,?Jijiang?Liu?wrote:
>?>>?Fix?two?issues?in?the?delete_depth_small()?function.
>?>>?
>?>>?1>?The?control?is?not?strict?in?this?function.
>?>>?
>?>>?In?the?following?structure,
>?>>?struct?rte_lpm_tbl24_entry?{
>?>>????????union?{
>?>>????????????????uint8_t?next_hop;
>?>>????????????????uint8_t?tbl8_gindex;
>?>>????????};
>?>>?????uint8_t?ext_entry?:1;
>?>>?}
>?>>?
>?>>?When?ext_entry?=?0,?use?next_hop.only?to?process?rte_lpm_tbl24_entry.
>?>>?
>?>>?When?ext_entry?=?1,?use?tbl8_gindex?to?process?the?rte_lpm_tbl8_entry.
>?>>?
>?>>?When?using?LPM24?+?8?algorithm,?it?will?use?ext_entry?to?decide?to?process?rte_lpm_tbl24_entry?structure?or?rte_lpm_tbl8_entry?structure.?
>?>>?If?a?route?is?deleted,?the?prefix?of?previous?route?is?used?to?override?the?deleted?route.?when?(lpm->tbl24[i].ext_entry?==?0?&&?lpm->tbl24[i].depth?>?depth)?
>?>>?it?should?be?ignored,?but?due?to?the?incorrect?logic,?the?next_hop?is?used?as?tbl8_gindex?and?will?process?the?rte_lpm_tbl8_entry.
>?>>?
>?>>?2>?Initialization?of?rte_lpm_tbl8_entry?is?incorrect?in?this?function?
>?>>?
>?>>?In?this?function,?use?new?rte_lpm_tbl8_entry?we?call?A?to?replace?the?old?rte_lpm_tbl8_entry.?But?the?valid_group?do?not?set?VALID,?so?it?will?be?INVALID.
>?>>?Then?when?adding?a?new?route?which?depth?is?>?24,the?tbl8_alloc()?function?will?search?the?rte_lpm_tbl8_entrys?to?find?INVALID?valid_group,?
>?>>?and?it?will?return?the?A?to?the?add_depth_big?function,?so?A's?data?is?overridden.
>?>>?
>?>>?Signed-off-by:?NaNa?<nana.nn at alibaba-inc.com>
>?>>?
>?>?
>?>?Hi?NaNa,?Jijiang,
>?>?
>?>?since?this?patch?contains?two?separate?fixes,?it?would?be?better?split?into
>?>?two?separate?patches,?one?for?each?fix.?Also,?please?add?a?"Fixes"?line?to
>?>?the?commit?log.
>?>?
>?>?Are?there?still?plans?for?a?unit?test?to?demonstrate?the?bug(s)?and?make?it?easy
>?>?for?us?to?verify?the?fix?
>?>?
>?>?Regards,
>?>?/Bruce
>?

Reply via email to