Hello everyone! Currently I am developing a Linux Kernel Module that encrypts (AES) some data on an IPv6 packet. I need to know how the BW (BandWidth) will behave after the module has been inserted. To do that I am using iperf3. Here is my scenario PC1 (windows 8.1) - Iperf client I have done all the coding and the module is running ok, but the impact on the BW is really severe (I am using Linux crypto API to do the encryption). Anyway, I have run into a very strange situation. Whenever I am running iperf I get a value X of BW, however when I open Wireshark on R1 (to capture the packets going to PC2) the BW becomes 2*X. Exactly the BW shown on iperf is doubled when I open Wireshark on R1. I noticed that Wireshark puts the Ethernet interface in promiscuous mode. So I closed Wireshark and manually set the card to promiscuous, but there was no effect on the BW. Has anyone noticed that Wireshark actually caused a better BW value? Am I missing something? Thank You very much! asked 11 Nov '15, 05:16 Phil Lima edited 11 Nov '15, 08:17 Jaap ♦ |
One Answer:
Please check if LRO (large receive offloading) is enabled on R1
If it is enabled, try to disable it with the following command and then repeat the iperf test with and without tcpdump running!
If that does not help, you can also try to disable other offloading methods as well. BTW: Enabling promiscuous mode 'can' disable LRO, so this might explain what you are seeing. I can't explain why you did not see any difference while you put the interface in promiscuous mode manually, but I don't know how you did it. See also here. It's for VMware, but it should apply to a real box as well (depends on the driver). Regards answered 11 Nov '15, 14:30 Kurt Knochner ♦ edited 11 Nov '15, 14:33 |
Try running the capture with promiscuous mode off. It's a setting on the capture interface window.
Can u run Wireshark on PC1 and PC2 and do the same....