[問題] 使用kernel_sock_ioctl SIOCGIFHWADDR

看板LinuxDev作者 (mimi)時間13年前 (2012/07/30 10:56), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串1/1
是這樣的 小弟在寫 Linux 網路相關的 driver (但是不是網路卡driver) 然後我想要取得網路卡裝置的 MAC 位置 依照在User Space下取得網路卡MAC的寫法 我在driver裡大概是這樣寫 struct ifreq ifr; memset(&ifr, 0x00, sizeof(ifr)); sprintf(ifr.ifr_name, "eth%d", 1); ret = kernel_sock_ioctl(sk_ptr, SIOCGIFHWADDR, (unsigned long)(&ifr)); 不過總是得到 ENOIOCTLCMD (515) 所以我該怎麼在我的driver裡取得目前使用中的網路卡MAC ??? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.189.230

12/08 12:28, , 1F
看起來是 CMD 未支援, #include <ioctl.h>
12/08 12:28, 1F

12/08 12:29, , 2F
printk("SIOCGIFHWADDR = %x\n",SIOCGIFHWADDR);
12/08 12:29, 2F

12/08 12:30, , 3F
#define SIOCGIFHWADDR 0x8927 << 看值是不是這樣
12/08 12:30, 3F
文章代碼(AID): #1G5VVCRh (LinuxDev)
文章代碼(AID): #1G5VVCRh (LinuxDev)