- Only allocate 16K jumbo mbufs if the region of data to be appended is sufficiently large, and use a loop.
- Use m_getm2() to allocate a chain for data less than 16K, or if m_getjcl() fails.
- Use ENOMEM as the return value instead of '1' if the hook fails due to a memory allocation error.