[dpdk-dev] [PATCH v4 2/2] net: added macro to extract MAC address bytes
Ferruh Yigit
ferruh.yigit at intel.com
Wed Aug 18 10:23:09 CEST 2021
On 8/17/2021 6:00 PM, Stephen Hemminger wrote:
> On Tue, 17 Aug 2021 17:44:51 +0100
> Ferruh Yigit <ferruh.yigit at intel.com> wrote:
>
>> On 8/17/2021 4:25 PM, Stephen Hemminger wrote:
>>> On Tue, 17 Aug 2021 09:11:17 +0100
>>> Ferruh Yigit <ferruh.yigit at intel.com> wrote:
>>>
>>>> On 8/17/2021 12:03 AM, Stephen Hemminger wrote:
>>>>> On Mon, 16 Aug 2021 15:27:28 +0530
>>>>> Aman Singh <aman.deep.singh at intel.com> wrote:
>>>>>
>>>>>> Added macros to simplify print of MAC address.
>>>>>> The six bytes of a MAC address are extracted in
>>>>>> a macro here, to improve code readablity.
>>>>>>
>>>>>> Signed-off-by: Aman Singh <aman.deep.singh at intel.com>
>>>>>> Reviewed-by: Ferruh Yigit <ferruh.yigit at intel.com>
>>>>>> ---
>>>>>> The change in the document will be done in seperate patch.
>>>>>> To ensure document has direct reference of the code as shown in
>>>>>> commit 413c75c33c40 ("doc: show how to include code in guides").
>>>>>
>>>>> NAK
>>>>> The DPDK already has rte_ether_format_addr()
>>>>> why does so much code not use it?
>>>>>
>>>>
>>>> 'rte_ether_format_addr()' formats string to a buffer, but most of the times the
>>>> need is just to log and having a buffer for it is unnecessary.
>>>>
>>>> Both macros look useful to me.
>>>
>>> Yes, but it would be good if same format was used everywhere.
>>>
>>
>> Agree, and 'RTE_ETHER_ADDR_PRT_FMT' macro helps to unify the format without
>> forcing to create the buffer.
>>
>> We can use 'RTE_ETHER_ADDR_PRT_FMT' in the 'rte_ether_format_addr()' to unify
>> all output, the downside is it may change the output of the API, which may cause
>> trouble for some customers.
>> Other option is define 'RTE_ETHER_ADDR_PRT_FMT' as whatever
>> 'rte_ether_format_addr()' has, to not cause a change in the API, what do you think?
>
>
> Why change the format using spaces between parts is not standard.
> The standard ways of printing ether addresses on Linux is 00:01:02:03:04:05
> (and on Windows 00-01-02-03-04-05).
>
It is not changing the format in a way to use spaces, macro is:
#define RTE_ETHER_ADDR_PRT_FMT "%02x:%02x:%02x:%02x:%02x:%02x"
API is 'rte_ether_format_addr()': "%02X:%02X:%02X:%02X:%02X:%02X"
So only case changes (if we update 'rte_ether_format_addr()').
More information about the dev
mailing list