> > +static bool ieee80211_frame_allowed(struct ieee80211_txrx_data *rx) > > +{ > > + static const u8 pae_group_addr[ETH_ALEN] > > + = { 0x01, 0x80, 0xC2, 0x00, 0x00, 0x03 }; > > + struct ethhdr *ehdr = (struct ethhdr *)rx->skb->data; > > + > > + if (rx->skb->protocol == htons(ETH_P_PAE) && > > + (compare_ether_addr(ehdr->h_dest, pae_group_addr) == 0 || > > + compare_ether_addr(ehdr->h_dest, rx->dev->dev_addr) == 0)) > > + return true; > > Should you reverse these two compare_ether_addr calls? > rx->dev->dev_addr seems more likely for any given packet. It probably > makes little difference but it seems like checking for that first > would still be better. I think in theory all eapol frames are sent to the PAE group address, but I have no idea which of the checks would be more efficient. It seems that the first could be optimised a lot because it's constant too... johannes
Attachment:
signature.asc
Description: This is a digitally signed message part