语言:简体中文 | L1-NIC-Drivers-EN
drivers/nic/driver_nic.h(34 个声明;其中编号的 13 个):
drivers/nic/driver_nic.h
driver_nic_register(name, ops, ctx) driver_nic_send(dev, frame, len) driver_nic_recv(dev, buf, maxlen) -> length / 0 / <0 driver_nic_link_status(dev) -> link up/down driver_nic_get_mac(dev, out[6])
系列初始化函数:driver_nic_e1000e_init、_igb_init、_ixgbe_init、 _rtl8139_init、rtl8168_init、rtl8125_init、rtl810x_init、 bcm57xx_init。
driver_nic_e1000e_init
_igb_init
_ixgbe_init
_rtl8139_init
rtl8168_init
rtl8125_init
rtl810x_init
bcm57xx_init
帧为原始以太网帧;协议栈(net/net_core.c)拥有 ARP 及以上的协议。RX 可根据你注册的操作选择轮询或中断驱动方式。ifconfig、nicstat、*_test 命令会观察这些操作。
net/net_core.c
ifconfig
nicstat
*_test
在编写自己的驱动前,请阅读一个 Intel(e1000e)和一个 Realtek(rtl8169 系列)的驱动:描述符环、链路状态处理以及错误路径(总线主控禁用、超时重置)的布局方式不同,但契约是相同的。
There was an error while loading. Please reload this page.