/* Get WILC header */
header = get_unaligned_le32(buff - HOST_HDR_OFFSET); /* * The packet offset field contain info about what type of management * the frame we are dealing with and ack status
*/
pkt_offset = FIELD_GET(WILC_PKT_HDR_OFFSET_FIELD, header);
struct tx_complete_mon_data { int size; void *buff;
};
staticvoid mgmt_tx_complete(void *priv, int status)
{ struct tx_complete_mon_data *pv_data = priv; /* * in case of fully hosting mode, the freeing will be done * in response to the cfg packet
*/
kfree(pv_data->buff);
ether_addr_copy(srcadd, &skb->data[10]);
ether_addr_copy(bssid, &skb->data[16]); /* * Identify if data or mgmt packet, if source address and bssid * fields are equal send it to mgmt frames handler
*/ if (!(memcmp(srcadd, bssid, 6))) {
ret = mon_mgmt_tx(mon_priv->real_ndev, skb->data, skb->len); if (ret)
netdev_err(dev, "fail to mgmt tx\n");
dev_kfree_skb(skb);
} else {
ret = wilc_mac_xmit(skb, mon_priv->real_ndev);
}
void wilc_wfi_deinit_mon_interface(struct wilc *wl, bool rtnl_locked)
{ if (!wl->monitor_dev) return;
if (rtnl_locked)
unregister_netdevice(wl->monitor_dev); else
unregister_netdev(wl->monitor_dev);
wl->monitor_dev = NULL;
}
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.23Bemerkung:
(vorverarbeitet am 2026-04-28)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.