2

We have 2 PC with Ubuntu 12.04 and connect with 1000M/bit cable. We then start iperf on both PCs and get 900m/bit speed using the iftop tool.

However, when we setup PPPoE server on the 1st PC, and PPPoE client on the 2nd PC, and direct iperf over PPPoE, we get only 430M/bit.

questions

  • Is it normal that PPPoE on Linux so slow?
  • Is there any way to get speeds similar to the direct connect option?
  • How does PPPoA compare? This maybe related. – Steve-o Apr 9 '13 at 20:44
  • Does your gig link support oversized (Jumbo) frames ? – Niall Byrne Oct 14 '13 at 6:08
  • Interesting that you can only drive 900Mbit using a dedicated testing tool. Anyway, I wonder if you're using TCP offload. Linux is able to offload some TCP/IP processing... TCP/IP/PPPoE might not support this as well, depending on implementation details... you could compare with various offloads enabled (ethtool), see whether your system can still drive 900Mbit even without offloads, it might be a useful data point. kernel.org/doc/Documentation/networking/… – sourcejedi May 23 '18 at 19:48
1

PPPoE has some overhead: 8 bytes per packet. See here. So it needs more packets to send the same amount of data, thus effectively reducing bandwith.

Obviously, 8 bytes per packet should not half the bandwidth if the packets are big enough (1000-1500 bytes).

But if iperf uses sufficently small packets (64 bytes perhaps?) the overhead should be enough to give the results you're experiencing.

You could also be experiencing fragmentation, i.e. iperf tries to send 1500 bytes packets while PPPoE should have a 1492 MTU. Try the iperf with -M option:

-M, --mss n
          set TCP maximum segment size (MTU - 40 bytes)

To be safe pass it a value of 1400:

iperf -c X.X.X.X -M 1400

Also, try running it for some time, like 60 or 120 seconds

iperf -c X.X.X.X -M 1400 -s 60 # or 120

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.