0

我想添加一个新的操作,struct net_device_ops但我对这类事情真的很陌生,我有点担心从一开始就走错了路。

我添加了这样的操作:

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

从我的角度来看,我不清楚如何从用户空间调用,我通常从

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

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

在此先感谢,pedr0

有趣的材料

4

1 回答 1

1

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

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

于 2012-05-31T10:50:22.847 回答