[PATCH] net/ice: add devargs for disabling mac filter

Zhang, Ke1X ke1x.zhang at intel.com
Sat Dec 17 16:22:21 CET 2022



> -----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.



More information about the dev mailing list