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; >