如何找到virtio_net发送队列的地址?

时间:2016-10-29 13:49:00

标签: linux kernel kvm

我有一个KVM VM,它为虚拟NIC使用virtio_net驱动程序。

我正在开发一个内核模块来检查此NIC的发送队列(tx队列)。 现在我想找到发送队列的地址。但是,在看了一下virtio_net源代码(here,从第100行开始)之后,我发现struct virtnet_info保存了这个地址,但驱动程序没有公开这个结构。

我完全不知道这样做。有人能帮助我吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我想出了如何做到这一点。只需找到 net_device struct * dev 并调用 netdev_priv(dev),这将返回此设备私有结构的地址,即 virtnet_info 在这种情况下

struct virnet_info *vi = netdev_priv(dev);