When I use rsync on large files it shows a download speed of 2.7 MB/s, or around 22Mbps. When I run ethtool on the NIC, here is the output Settings for eth0:    Supported ports: [ TP MII ]    Supported link modes:   10baseT/Half 10baseT/Full                             100baseT/Half 100baseT/Full     Supported pause frame use: No    Supports auto-negotiation: Yes    Advertised link modes:  10baseT/Half 10baseT/Full                             100baseT/Half 100baseT/Full     Advertised pause frame use: No    Advertised auto-negotiation: Yes    Speed: 100Mb/s    Duplex: Full    Port: MII    PHYAD: 1    Transceiver: external    Auto-negotiation: on    Current message level: 0x00000007 (7)                   drv probe link    Link detected: yesI found similar readings on the host machine.When I look at ethtool -i etho I get the following:driver: smsc911xversion: 2008-10-21firmware-version: expansion-rom-version: bus-info: smsc911x.0supports-statistics: nosupports-test: nosupports-eeprom-access: yessupports-register-dump: yessupports-priv-flags: noI double checked the ethernet cables I'm using, and all are at least 5e.I'm using the LAN9221-ABZJ chip for this project. Is this a firmware issue, too much overhead on the protocols, or is this chip know for not transmitting fast enough?UPDATEI checked the speeds with iperf. Going from the server side it was 50Mbps. From the Client side it was 65 Mbps. Also, I had to do this remotely (as in i ssh'd into the one machine to configure it). That seems a little low. 
not getting full network speed (or even close) of 100 mbps
embedded;ethernet
Check the Cpu usage through htop while it is transmitting data. If it is maxed out during ethernet events, it is a good sign that your cpu is the bottleneck. The only fixes are to increase the clock of your cpu, or to get a faster one.