[ovs-discuss] netdev_rxq for internal bridge

xia xiarui_maillist at 163.com
Tue Dec 24 07:36:07 UTC 2019


Hello, everyone. 
I am trying to trace the code of packet processing. I read 'netdev-provider.h', and learned that 'netdev' and 'netdev_rxq' are the most important data structure for network devices.


So I create an ovs bridge using "add-br" with default type. I found that ovs create an 'internal' type 'netdev'.


The construction of this 'internal' netdev invokes the funtion 'netdev_linux_construct' in 'netdev-linux.c'. 


I guess the 'internal' bridge will consequently invoke 'netdev_linux_rxq_construct' to initialize the 'netdev_rxq'. However, it does not. Functions, like 'netdev_linux_rxq_alloc', 'netdev_linux_rxq_construct', are all passed.


I want to snoop packets passing through receive queues of a network device, for example, a bridge of Linux or the pmd-rxq of DPDK. I think I can hack the 'netdev_rxq' to achieve this target. But I was wondering why the 'internal' bridge does not initialize 'netdev_rxq'.


Maybe the 'internal' bridge is just a Linux bridge in natural, and the kernel is in charge of all the stuff. So ovs does not construct a 'netdev-rxq' for 'internal' bridge.


Thank you for sharing your ideas.


Best wishes,
Xia.



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-discuss/attachments/20191224/cf540562/attachment.html>


More information about the discuss mailing list