I think there is a bit of optimisation that could be done in lwipconfig.h, some bytes are wasted.
But I’m not sure about your comment here. If you look at the table “Transmit Buffer Descriptor Entry” which is Table 38-2 on page 554 of my version of the SAM7X manual this is an 11 bit mask, so 0x7ff would seem to be correct.