[dpdk-dev] [PATCH v2 4/6] net/ngbe: add device init and uninit

Jiawen Wu jiawenwu at trustnetic.com
Mon Mar 22 03:58:57 CET 2021


On Saturday, March 20, 2021 1:47 AM, Stephen Hemminger wrote:
> On Fri, 19 Mar 2021 15:26:26 +0800
> Jiawen Wu <jiawenwu at trustnetic.com> wrote:
> 
> > +++ b/drivers/net/ngbe/base/ngbe_osdep.h
> > @@ -0,0 +1,172 @@
> 
> > +#define false               0
> > +#define true                1
> 
> These will conflict with normal definitions in <stdbool.h> Why are you not
using
> that?

I think, "#ifndef false" and "#ifndef true" can be used to avoid adding
<stdbool.h> repeatedly.

> 
> > +#define min(a, b)	RTE_MIN(a, b)
> > +#define max(a, b)	RTE_MAX(a, b)
> > +
> > +/* Bunch of defines for shared code bogosity */
> > +
> > +static inline void UNREFERENCED(const char *a __rte_unused, ...) {}
> > +#define UNREFERENCED_PARAMETER(args...) UNREFERENCED("", ##args)
> > +
> 
> I have seen that before... porting code from Windows?

I am not sure if it was ported from Windows.
It is ported from TXGBE, and TXGBE was coding by another workmate several
years before.

> 
> > +/* Check whether address is multicast. This is little-endian specific
> > +check.*/ #define NGBE_IS_MULTICAST(address) \
> > +		(bool)(((u8 *)(address))[0] & ((u8)0x01))
> > +
> 
> Why not rte_ether_is_multicast_ether_addr?
> 
> 
> > +/* Check whether an address is broadcast. */ #define
> > +NGBE_IS_BROADCAST(address) \
> > +		({typeof(address)addr = (address); \
> > +		(((u8 *)(addr))[0] == ((u8)0xff)) && \
> > +		(((u8 *)(addr))[1] == ((u8)0xff)); })
> > +
> 
> Your code is not correct since it would match ff:ff:01:02:03:04
> 
> Why not rte_ether_is_broadcast_ether_addr?

Thanks for your review.
Such in the case, rte_is_multicast_ether_addr and
rte_is_broadcast_ether_addr should be used.





More information about the dev mailing list