--- Quote Start ---
The question is do I need to add the preamble to the frame myself or is this a MAC operation?
--- Quote End ---
You only need to add the Ethernet frame data payload. The MAC takes care of preamble and all the ethernet media and physical layer dependent stuff.
Anyway, it's up to you adding MAC address fields (source and destination) and if I remember correctly, you also need to shift the frame in the packet data array by a 2 byte offset.
I'd suggest using Wireshark or any other packet sniffing software in order to find out what the board is really transmitting. Maybe those tx led blinks are malformed packets which can't be correctly received by PC.
Please note that, all this assumes you hw is ok, I mean you don't have any problem with fpga configuration, timing and so on.
Regards