I completely missed that privacy==confidentiality and includes all encryption schemes, thanks. On Mon, 2007-08-13 at 00:54 -0700, Michael Wu wrote: > > - if (keyidx >= 0 && keyidx < NUM_DEFAULT_KEYS && > > - (!rx->sta || !rx->sta->key || keyidx > 0)) > > - rx->key = rx->sdata->keys[keyidx]; > So it looks like the keyidx > 0 check here is the source of the RX problems. I > think we can store the keyidx of the individual key to compare against > instead of assuming all individual keys have a keyidx of 0. Correct me if I'm wrong, but I'm reading the standard like this: For WEP keys one can have up to 4 default keys (rx->sdata->keys[keyidx]), and a varying number (but at least 10) per-STA keys (rx->sta->key). On receiving a unicast packet, you use the per-STA key if available (and discard keyidx). Only if there is no per-STA key, or the packet is multicast, you use the keyidx-th default key. So you cannot rely on keyidx and you must have a check for unicast vs. multicast somewhere. Volker - To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html