1

我正在编写一个模块,用于提取无线 802.11 数据包的以太网 Mac 标头的 MAC 地址。我将 ethernetmac 标头提取为

ieee = (struct ieee80211_hdr *)skb_mac_header(sock_buff);
ieee->addr1[ETH_ALEN];
ieee->addr2[ETH_ALEN];
ieee->addr3[ETH_ALEN];

我想打印这些地址以查看它包含的值。我如何使用printkKERN_INFO

目前我正在使用这个语句,但它会导致内核处于恐慌模式

printk(KERN_INFO "The address is %x:%x:%x:%x:%x:%x", ieee->addr1[0],ieee->addr1[1],ieee->addr1[2],ieee->addr1[3],ieee->addr1[4],ieee->addr1[5]);
4

1 回答 1

0

嗯,根据这个,addr1就是u8 addr1[ETH_LEN],所以:

printk("MAC %pM: \n", ieee->addr1);
于 2014-04-06T10:46:50.050 回答