luigirizzo / netmap

Automatically exported from code.google.com/p/netmap
BSD 2-Clause "Simplified" License
1.86k stars 537 forks source link

Speed limited to 10Mbps when using virtio_net interfaces #962

Closed Peter-Woodall closed 4 months ago

Peter-Woodall commented 5 months ago

I have a program using netmap under Linux (I have tried Debian 10.9 and Ubuntu 20.4) where separate threads listen on virtio_net interfaces, process packets and send each packet onwards via the appropriate interface. (The RX and TX logic is similar to the forward.c example in https://github.com/netmap-unipi/netmap-tutorial). Functionally the program seems to behave as expected. However, I can only get a throughput of 10Mbps in both the downstream and upstream directions. The equivalent program, without netmap (i.e. using raw sockets), can pass traffic at full speed (the sync speeds of my lines are currently 80Mbps down, 20Mbps up). Has anyone seen this sort of behaviour before? Does anyone have any suggestions or advice? Thank you. Peter

Peter-Woodall commented 4 months ago

On further investigation this issue seems to be associated with selecting one of two potential default gateways (clearly the wrong one). i.e. This seems to be an ARP/route issue. Hence, I will close this as, at the moment, it does not seem to be an issue with Netmap. Thank you.