gpt4 book ai didi

linux - 如何从驱动程序代码中提取接口(interface)的 MAC 地址

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:24:24 26 4
gpt4 key购买 nike

我是 Linux 内核编程和驱动程序编程的新手。我在内核版本为 2.6.32-37 的 Linux 上使用 madwifi 驱动程序,并希望在驱动程序代码中提取接口(interface)的 MAC 地址。我知道这些信息应该可以在 netdevice 结构字段中找到,但不太确定哪一个是正确的。

我的问题是:

  1. *dev 和 *real 有什么区别?
  2. 我应该使用其中的哪一个? (它们都在代码的不同部分使用,我不明白什么时候应该使用前者,什么时候应该使用后者)。

最佳答案

引自http://www.makelinux.net/ldd3/chp-17-sect-3 :

unsigned char dev_addr[MAX_ADDR_LEN];

Hardware (MAC) address length and device hardware addresses. The Ethernet address length is six octets (we are referring to the hardware ID of the interface board), and the broadcast address is made up of six 0xff octets; ether_setup arranges for these values to be correct. The device address, on the other hand, must be read from the interface board in a device-specific way, and the driver should copy it to dev_addr. The hardware address is used to generate correct Ethernet headers before the packet is handed over to the driver for transmission. The snull device doesn't use a physical interface, and it invents its own hardware address.

希望对您有所帮助。

关于linux - 如何从驱动程序代码中提取接口(interface)的 MAC 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15522948/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com