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

Yasufumi Ogawa ogawa.yasufumi at lab.ntt.co.jp
Tue Aug 7 08:57:07 CEST 2018


On 2018/08/07 15:31, Hideyuki Yamashita wrote:
> 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.
I do not think this function is more understandable than doing memset. It is just one line and no complexity. If you have any 
other reasons for, I think it it better to keep the code by removing the meaningless 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",
>>>
>>
> 
> 
> 
> 


-- 
Yasufumi Ogawa
NTT Network Service Systems Labs



More information about the spp mailing list