When I run ifconfig eth0 and eth1 have no MAC, and the network is very flaky.. You can see when you first power on the plug that the Green and Orange lights on the eth1 device are blinking fast and furious but right after this:

However, I have no clue why this happens. If I boot from nand only, I get connected to my network via eth0 without problems. If I boot with SD rootfs I can't connect via eth0. Setting the MAC in dhclient.conf didn't help.

This is happening to me no matter what I boot from. Its something that started happening after the plug over heated and I came home to find it stuck in reboot mode. Once I unplugged it and let it cool off I booted it back up and ever since no MAC. I thought Linux in general got the MAC as reported by the ethernet driver, but I am not for sure.

I don't think the missing MAC addresses are connected to where you boot from. I got hit by the same problem and it started working for me once I initialized the ethernet ports from U-Boot. To do this you have to send a ping from both ethernet ports like the standard bootcmd does:

Chaotix, thanks for your advice. It works now for me, as well, when I boot the rootfs from SD. At the moment I want to stick to the original u-boot. Thus, this solution helped me. Perhaps later on, I might flash the u-boot mjain suggested.