Iperf and Ostinato employ different ways to generate the traffic.
My guess is (I haven't checked the code), iperf likely uses tcp/udp
sockets - this will allow it to send a larger buffer from user space
to kernel space that may span multiple packets. Iperf can only specify
the payload of the TCP/UDP header so it can use the Kernel provided
TCP/UDP sockets.
Ostinato crafts the entire frame from Ether to IP to TCP/UDP and
payload. Because of this Ostinato cannot use TCP/UDP sockets. Instead
it uses the PCAP library to send the packets (which is likely using a
raw socket underneath). The PCAP API allows us to send only a single
packet in one call.
There was another thread sometime back which reported something similar.
There may be other differences also leading to the performance
difference. I haven't had a chance (or motivation) to investigate this
till now.
Srivats
> --
> Get Ostinato News and Updates on Twitter - Follow @ostinato
> (
http://twitter.com/ostinato)
> ---
> You received this message because you are subscribed to the Google Groups
> "ostinato" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to
ostinato+u...@googlegroups.com.
> For more options, visit
https://groups.google.com/d/optout.
--
http://ostinato.org/
@ostinato