[PATCH 3/8] mka: pass full structures down to macsec drivers' transmit SC ops

Sabrina Dubroca sd at queasysnail.net
Wed Oct 5 01:43:16 PDT 2016


2016-10-03, 13:11:26 +0300, Jouni Malinen wrote:
> On Tue, Sep 20, 2016 at 09:43:06AM +0200, Sabrina Dubroca wrote:
> > Clean up the driver interface by passing pointers to struct transmit_sc
> > down the stack to the {create,delete}_transmit_sc ops, instead of passing the
> > individual arguments.
> 
> > diff --git a/src/drivers/driver.h b/src/drivers/driver.h
> 
> > -	int (*create_transmit_sc)(void *priv, u32 channel, const u8 *sci_addr,
> > -				  u16 sci_port, unsigned int conf_offset);
> > +	int (*create_transmit_sc)(void *priv, struct transmit_sc *sc,
> > +				  enum confidentiality_offset conf_offset);
> 
> This changes conf_offset to an enum that has values 0..3.
> 
> > diff --git a/src/drivers/driver_macsec_qca.c b/src/drivers/driver_macsec_qca.c
> > -static int macsec_qca_create_transmit_sc(void *priv, u32 channel,
> > -					 const u8 *sci_addr, u16 sci_port,
> > +static int macsec_qca_create_transmit_sc(void *priv, struct transmit_sc *sc,
> >  					 unsigned int conf_offset)
> 
> However, the driver wrapper implementation here is not updated to match
> that change in type. Nor was there any change on how the values are
> handled.
> 
> > diff --git a/wpa_supplicant/wpas_kay.c b/wpa_supplicant/wpas_kay.c
> 
> >  static int
> > -wpas_create_transmit_sc(void *wpa_s, u32 channel,
> > -			const struct ieee802_1x_mka_sci *sci,
> > +wpas_create_transmit_sc(void *wpa_s, struct transmit_sc *sc,
> >  			enum confidentiality_offset co)
> >  {
> > -	return wpa_drv_create_transmit_sc(wpa_s, channel, sci->addr,
> > -					  be_to_host16(sci->port),
> > +	return wpa_drv_create_transmit_sc(wpa_s, sc,
> >  					  conf_offset_val(co));
> >  }
> 
> And this function is still converting that enum (values 0..3) to values
> 0, 30, or 50.
> 
> This cannot be correct.. Was the driver ops API really supposed to
> change to the enum? If so, this conf_offset_val() in
> wpas_create_transmit_sc() needs to be moved into
> macsec_qca_create_transmit_sc().

Oops, you're right, not sure how I managed to mess that up.  I'll
resubmit these patches without the change of type.


Thanks for the review,

-- 
Sabrina



More information about the Hostap mailing list