On 10/14/2019 5:10 PM, Ferruh Yigit wrote: > On 9/25/2019 10:36 AM, Igor Ryzhov wrote: >> Current implementation doesn't allow us to update KNI carrier if the >> interface is not yet UP in kernel. It means that we can't use it in the >> same thread which is processing rte_kni_ops.config_network_if, which is >> very convenient, because it allows us to have correct carrier status >> of the interface right after we enabled it and we don't have to use any >> additional thread to track link status. > > Hi Igor, > > The existing thread tracks the link status of the physical device and reflects > the changes to the kni netdev, but the "struct rte_kni_ops" > (rte_kni_ops.config_network_if) works other way around, it captures (some) > requests to kni netdev and reflects them to the underlying physical device. > Even 'rte_kni_update_link()' updated to use ioctl, the thread still looks > required and this patch doesn't really changes that part. > > Also I am reluctant to extend the KNI ioctl interface when there is a generic > way to do that work. > > What is the use case of updating kni netdev carrier status when the interface > is > down?
btw, if the problem is status of the interface being 'no-carrier' by default, this can be changed by "carrier=on" parameter of the kni kernel module: "insmod ./build/kmod/rte_kni.ko carrier=on" > >> >> Signed-off-by: Igor Ryzhov <iryz...@nfware.com> > > <...> >