[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