I am working on a custom platform based on i.MX6Q Sabresd SD. The software running on the platform is Yocto BSP kernel version 3.14.28 from Freescale.
The custom platform has an on board ethernet controller which is connected to i.MX6Q via local bus(EIM) and we were able to establish network connectivity.
I would like to understand on how to vary the network bandwidth at TCP/IP stack level inside kernel. Say for example, I would like to vary the link bandwidth from Gigabit to 10Mbpps Half/Full Duplex. Many people used ethtool to vary the bandwidth, However it hides the kernel internals.
Any pointers on how to vary the bandwidth @ TCP/IP level would be appreciated.