em(4) appears to be susceptible to the same problem that if_bge.c
long mbuf chains can cause em_encap to fail, which will cause OACTIVE
to be set on the interface, and the problem packet to remain at the
start of the send queue. this will cause no packets to end up on
the tx ring, so em_txeof wont run which is where OACTIVE is cleared.
this diff makes em(4) defrag long mbuf chains.
i havent tested this, could someone give it a spin? or an ok?