[spp] [spp 03176] Re: [PATCH] spp_vf: fix initializing bug of forwarder

Hideyuki Yamashita yamashita.hideyuki at po.ntt-tx.co.jp
Tue Aug 7 08:31:10 CEST 2018


Hello Yasufumi-san,

Thanks for your comments. 
About your first point, I agree that there is only one point which calls this function. But
I still believe it is good to keep this as a function to keep
readability of calling side function.
So, I will change function name from clear_forward_info() to clear_forward_path().

What do you think?

BR,
Hideyuki Yamashita

> On 2018/08/02 17:31, x-fn-spp at sl.ntt-tx.co.jp wrote:
> > From: Hideyuki Yamashita <yamashita.hideyuki at po.ntt-tx.co.jp>
> >
> > clear_forward_info() always initializes path[0] of g_forward_info[id].
> > It is a bug and causes stopping forwarding accidentally if path[0] is
> > referenced by spp_forward().
> >
> > This patch changes initializing as path[info->upd_index] instead of 0.
> > It also includes refactoring to be simple by using local vars.
> Hideyuki,
> 
> I do not know why claer_forward_info() is requierd because it is called only one time and simply just doing memset(). I think it is not needed to be a function without called from several points. In addition, the name of function is not so good. It does not clear 'forward_info' but 'forward_path'. I think clear_forward_path() is appropriate if you want to make it as a function.
> 
> Thanks,
> Yasufumi
> >
> > Signed-off-by: Hideyuki Yamashita <yamashita.hideyuki at po.ntt-tx.co.jp>
> > Signed-off-by: Naoki Takada <takada.naoki at lab.ntt.co.jp>
> > ---
> >   src/vf/spp_forward.c | 6 +++---
> >   1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/src/vf/spp_forward.c b/src/vf/spp_forward.c
> > index 0a43608..ee1254c 100644
> > --- a/src/vf/spp_forward.c
> > +++ b/src/vf/spp_forward.c
> > @@ -51,9 +51,9 @@ spp_forward_init(void)
> >  >   /* Clear info for one element. */
> >   static void
> > -clear_forward_info(int id)
> > +clear_forward_info(struct forward_path *path)
> >   {
> > -	memset(&g_forward_info[id].path, 0x00, sizeof(struct forward_path));
> > +	memset(path, 0x00, sizeof(struct forward_path));
> >   }
> >  >   /* Update forward info */
> > @@ -84,7 +84,7 @@ spp_forward_update(struct spp_component_info *component)
> >   		return -1;
> >   	}
> >  > -	clear_forward_info(component->component_id);
> > +	clear_forward_info(path);
> >  >   	RTE_LOG(INFO, FORWARD,
> >   			"Component[%d] Start update component. (name = %s, type = %d)\n",
> >
> 




More information about the spp mailing list