On Wed, 2018-01-31 at 16:01 -0600, Denis Kenzior wrote: > Hi Johannes, > > > > + * @NL80211_CMD_CONTROL_PORT_FRAME: Control Port (e.g. PAE) frame TX request > > > + * and RX notification. This command is used both as a request to transmit > > > + * a control port frame and as a notification that a control port frame > > > + * has been received. %NL80211_ATTR_FRAME is used to specify the > > > + * frame contents. The frame is the raw EAPoL data, without ethernet or > > > + * 802.11 headers. > > > > Never mind, so it's without Ethernet header. Is that really desirable > > though? I mean, it could be that the Ethernet address even matters (not > > sure) and it'd probably be easier to handle in (existing) userspace > > where Ethernet frames are expected now? > > I also include the from address inside the NL80211 message as ATTR_MAC. > The protocol as well. I wrote the docs first and never updated the > little details afterwards. Will fix. Good point, I could've seen that. Still not sure it makes a big difference, but I guess it doesn't really matter that much (though in a sense it'd be easier to take Ethernet header apart than putting it back together - but even that can be done in place in the message buffer) > > > + nla_put_failure: > > > + genlmsg_cancel(msg, hdr); > > > > nit: there's no point in cancelling if you free it (immediately). > > Just following some existing code, but will fix. Yeah I just never got around to cleaning up that antipattern ... I'll make an spatch. johannes