net_device和net_device_ops结构

时间:2012-05-25 08:09:43

标签: linux-kernel linux-device-driver embedded-linux

我想在struct net_device_ops添加一个新操作,但我真的很想见这类事情,我有点担心从一开始就采取错误的方式。

我添加了这样的操作:

static const struct net_device_ops wl_netdev_ops =
{
/* The other operations..
.ndo_clear_stats = clear_stats
};

从我的观点来看,我不知道如何从用户空间打电话,我通常会从中获取statisincs

/sys/class/net/.../statistics

但现在我真的不明白我的新操作放在哪里,有人可以帮我讲一个好的教程或链接,我可以找到一个简单的例子或教程吗?

提前致谢, pedr0

Interesting material

1 个答案:

答案 0 :(得分:1)

你无法直接调用它。您需要以某种方式将其功能导出到用户空间,例如通过ioctl,netlink,procfs条目等。推荐这些中的哪一个很大程度上取决于你想要实现的目标。

通常也建议不要更改这样的核心内核结构,即使你不打算分发你的更改 - 有时内核结构成员的顺序或它的大小很重要,内核中有关于内部的假设这个。我很确定还有其他方法可以做你想做的事。