上下文
侵入内核:编写一个完整的网络堆栈。LDD3的书被打开了,但毕竟没有那么有帮助。
整个用户空间堆栈代码已经在那里了。
现在,我想升级我的网络驱动程序。但在此之前,我需要理解简单的事情,因为我的知识。很明显,我读了我的卡片的原始司机,却没有得到任何答复。
自定义内核3.18.x
x86_64
我不想只知道如何使用这些函数,但也想了解其本质。
问题
我深入研究了内核的曲线图,并且不确定device_register函数如何能够获取NIC的MAC地址。
在函数中
int device_register(struct device *dev)什么时候添加了mac ?它已经被分配了还是在device_add函数中?有那么多的方向..。
内核最初是如何知道mac地址的?在靴子上?
发布于 2015-02-05 13:28:45
好的,
设备树是我的答案。在启动时间设置。
据我所知,mac地址是在主板收集所有连接设备的内存中读取的。然后,内核根据主板设置的不同偏移量读取内存区域,并检索所需的信息。
它似乎出现在/sys部分。
普费沃..。现在我可以继续下去了:)
https://stackoverflow.com/questions/28341707
复制相似问题