Shouldn't this check be if (m->m_len > sizeof (struct ip)) { instead of if (m->m_len < sizeof (struct ip)) { in http://fxr.watson.org/fxr/source/netipsec/ipsec.c?im=excerpts#L595 Regards, -- Ermal