On 11/15/2019 12:43 PM, Michael Pfeiffer wrote:
> Hi Igor,
> you're right, RTE_KNI_NAMESIZE == IFNAMSIZ is the intention. However,
> to my understanding linux/if.h (where IFNAMSIZ is defined) is only
> included when building kernel code. I thought maybe this was
> intentional to keep rte_kni_common.h free of Linux kernel dependencies
> (when building userland code).
> 
> In practice, it probably won't matter, as the KNI kernel module is
> available for Linux only at the moment. I will therefore gladly change
> this to IFNAMSIZ if you and Ferruh think this is the way to go.

I think better to not add dependency to userland, and I don't expect IFNAMSIZ
changing in kernel side, so safe to keep hardcoded value,
only perhaps a simple /* IFNAMSIZ  */ comment can be added to highlight the
relation?

> 
> Regards
> Michael
> 
> On Fri, 2019-11-15 at 15:30 +0300, Igor Ryzhov wrote:
>> Hi Michael,
>>
>> Isn't it better to set it to IFNAMSIZ instead of 16?
>>
>> Best regards,
>> Igot
>>
>> On Fri, Nov 15, 2019 at 2:41 PM Michael Pfeiffer <
>> michael.pfeif...@tu-ilmenau.de> wrote:
>>
>>> The name in rte_kni_device_info is passed to the kernel, which
>>> allows
>>> interface names with at most 16 bytes (IFNAMSIZ). rte_kni_alloc
>>> with a
>>> longer name currently trigger a kernel BUG in alloc_netdev_mqs in
>>> net/core/dev.c. Reduce RTE_KNI_NAMESIZE to prevent this situation.
>>>
>>> Signed-off-by: Michael Pfeiffer <michael.pfeif...@tu-ilmenau.de>
>>> ---
>>>  lib/librte_eal/linux/eal/include/rte_kni_common.h | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/lib/librte_eal/linux/eal/include/rte_kni_common.h
>>> b/lib/librte_eal/linux/eal/include/rte_kni_common.h
>>> index 46f75a710..59339271b 100644
>>> --- a/lib/librte_eal/linux/eal/include/rte_kni_common.h
>>> +++ b/lib/librte_eal/linux/eal/include/rte_kni_common.h
>>> @@ -18,7 +18,7 @@
>>>  /**
>>>   * KNI name is part of memzone name.
>>>   */
>>> -#define RTE_KNI_NAMESIZE 32
>>> +#define RTE_KNI_NAMESIZE 16
>>>
>>>  #define RTE_CACHE_LINE_MIN_SIZE 64
>>>
>>> --
>>> 2.20.1
>>>
>>>

Reply via email to