Gigabit Ethernet transmission is currently unreliable for packets > 100 bytes and busted for > 200 bytes.
Things to try:
- Check CRC generation - there's some code that does this at http://www.edaboard.com/thread120700.html
- Fiddle with MTU on my computer (this shouldn't affect incoming packets, though!)
- I really don't think this matters.
- Fiddle with code
- I discovered a bug where EOF wasn't being transmitted, purely because I wasn't waiting the dst_ready signal before clearing it. This explains why very short packets worked. Unfortunately it now seems like the PHY isn't accepting any packets at all!
- Fiddle with timing constraints