Deleted Added
full compact
33c33
< __FBSDID("$FreeBSD: head/sys/netinet/in_gif.c 185571 2008-12-02 21:37:28Z bz $");
---
> __FBSDID("$FreeBSD: head/sys/netinet/in_gif.c 189494 2009-03-07 19:08:58Z marius $");
105c105
< int proto, error;
---
> int error, len, proto;
189,191c189,196
< M_PREPEND(m, sizeof(struct ip), M_DONTWAIT);
< if (m && m->m_len < sizeof(struct ip))
< m = m_pullup(m, sizeof(struct ip));
---
> len = sizeof(struct ip);
> #ifndef __NO_STRICT_ALIGNMENT
> if (family == AF_LINK)
> len += ETHERIP_ALIGN;
> #endif
> M_PREPEND(m, len, M_DONTWAIT);
> if (m != NULL && m->m_len < len)
> m = m_pullup(m, len);
195a201,209
> #ifndef __NO_STRICT_ALIGNMENT
> if (family == AF_LINK) {
> len = mtod(m, vm_offset_t) & 3;
> KASSERT(len == 0 || len == ETHERIP_ALIGN,
> ("in_gif_output: unexpected misalignment"));
> m->m_data += len;
> m->m_len -= ETHERIP_ALIGN;
> }
> #endif