On Thu, Mar 3, 2022 at 2:16 AM Ferruh Yigit <ferruh.yi...@intel.com> wrote:
>
> On 3/2/2022 12:33 PM, Harold Huang wrote:
> > When kni driver calls eth_kni_start to start device, some fields such as
> > min_mtu and max_mtu of rte_kni_conf are not initialized. It will cause
> > kni_ioctl_create create a kni netdevice with a random min_mtu and max_mtu
> > value. This is unexpected and in some time we could not change the kni
> > device mtu with ip link command.
> >
>
> Agree on the problem and the solution, thanks for the fix.
>
> > Fixes: ff1e35fb5f8 ("kni: calculate MTU from mbuf size")
> > Signed-off-by: Harold Huang <baymaxhu...@gmail.com>
> > ---
> >   drivers/net/kni/rte_eth_kni.c | 1 +
> >   1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/net/kni/rte_eth_kni.c b/drivers/net/kni/rte_eth_kni.c
> > index c428caf441..23b15edfac 100644
> > --- a/drivers/net/kni/rte_eth_kni.c
> > +++ b/drivers/net/kni/rte_eth_kni.c
> > @@ -128,6 +128,7 @@ eth_kni_start(struct rte_eth_dev *dev)
> >       const char *name = dev->device->name + 4; /* remove net_ */
> >
> >       mb_pool = internals->rx_queues[0].mb_pool;
> > +     memset(&conf, 0, sizeof(conf));
>
> Can you prefer initialize to zero, instead of 'memset', I think it
> is more clear that way:

Thanks. Sounds good,  fix it.

>
>   -       struct rte_kni_conf conf;
>   +       struct rte_kni_conf conf = { 0 };
>
> >       strlcpy(conf.name, name, RTE_KNI_NAMESIZE);
> >       conf.force_bind = 0;
> >       conf.group_id = port_id;
>

Reply via email to