Is there a way to set the link speed/duplex in ipxe?
No. All the drivers are designed to auto-negotiate link speed. It's done to keep the code size of the driver small. If you want to force a specific link speed you need to set the limit on the switch side, and the ipxe side -should- auto-neg the right speed.