[dpdk-dev] [PATCH v4 2/2] net: added macro to extract MAC address bytes

Stephen Hemminger stephen at networkplumber.org
Wed Aug 18 18:47:53 CEST 2021


On Wed, 18 Aug 2021 09:23:09 +0100
Ferruh Yigit <ferruh.yigit at intel.com> wrote:

> 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()').
> 

Ok, case should not matter


More information about the dev mailing list