[PATCH] net/ice: add devargs for disabling mac filter
Stephen Hemminger
stephen at networkplumber.org
Sat Dec 17 18:20:23 CET 2022
On Sat, 17 Dec 2022 15:22:21 +0000
"Zhang, Ke1X" <ke1x.zhang at intel.com> wrote:
> > -----Original Message-----
> > From: Stephen Hemminger <stephen at networkplumber.org>
> > Sent: Tuesday, December 13, 2022 11:51 AM
> > To: Zhang, Ke1X <ke1x.zhang at intel.com>
> > Cc: Zhang, Qi Z <qi.z.zhang at intel.com>; Zhang, Yuying
> > <yuying.zhang at intel.com>; dev at dpdk.org
> > Subject: Re: [PATCH] net/ice: add devargs for disabling mac filter
> >
> > On Fri, 25 Nov 2022 10:51:24 +0800
> > Ke Zhang <ke1x.zhang at intel.com> wrote:
> >
> > > diff --git a/drivers/net/ice/ice_ethdev.h
> > > b/drivers/net/ice/ice_ethdev.h index c8311be179..0350c6584a 100644
> > > --- a/drivers/net/ice/ice_ethdev.h
> > > +++ b/drivers/net/ice/ice_ethdev.h
> > > @@ -563,6 +563,7 @@ struct ice_devargs {
> > > int safe_mode_support;
> > > uint8_t proto_xtr_dflt;
> > > int pipe_mode_support;
> > > + int mac_filter_disable;
> >
> > Why use 4 bytes for a flag when a single bit would do.
>
> After modifying the code like this:
> struct ice_devargs {
> int rx_low_latency : 1;
> int safe_mode_support : 1;
> int pipe_mode_support : 1;
> int mac_filter_disable : 1;
>
> I met a issue when compiling the code:
> ../drivers/net/ice/ice_ethdev.c:2076:19: error: cannot take address of bit-field 'safe_mode_support'
> 2076 | &parse_bool, &ad->devargs.safe_mode_support);
> | ^
> ../drivers/net/ice/ice_ethdev.c:2081:19: error: cannot take address of bit-field 'pipe_mode_support'
> 2081 | &parse_bool, &ad->devargs.pipe_mode_support);
> | ^
> ../drivers/net/ice/ice_ethdev.c:2086:18: error: cannot take address of bit-field 'mac_filter_disable'
> 2086 | &parse_bool, &ad->devargs.mac_filter_disable);
> | ^
> ../drivers/net/ice/ice_ethdev.c:2101:19: error: cannot take address of bit-field 'rx_low_latency'
> 2101 | &parse_bool, &ad->devargs.rx_low_latency);
>
> It seems that bitfields members aren't addressable.
>
Would a uint8_t work? Also parse_bool might make assumptions about size.
More information about the dev
mailing list