A method of operating a physical-layer circuit, wherein the physical-layer circuit comprises a memory, a control circuit and a physical-layer device, and wherein the control circuit is coupled to the memory and the physical layer device, the method comprising:
- receiving data at the memory from a media access controller, wherein the data is received at the memory at a first rate, and wherein the media access controller is separate from the physical-layer circuit;
- receiving the data from the memory at the physical-layer device;
- transmitting the data from the physical-layer circuit to a peer device, wherein physical-layer device transfers the data from the memory to the peer device at a second rate, wherein an amount of data stored in the memory is based on a difference between the first rate and the second rate, and wherein the second rate is less than the first rate;
- monitoring the amount of the data stored in the memory;
- and
- based on the amount of the data stored in the memory, transmitting a first frame from the control circuit to the media access controller to decrease the first rate at which the media access controller transfers the data to the memory.