diff options
| author | Doug Rabson <dfr@FreeBSD.org> | 1998-07-12 16:46:52 +0000 |
|---|---|---|
| committer | Doug Rabson <dfr@FreeBSD.org> | 1998-07-12 16:46:52 +0000 |
| commit | 3a43ad8f22812b286809338032573ba3e1ecd923 (patch) | |
| tree | 08a6bab4886a3de85bd6d166edd1f2b5f9943bcc /sys/net/if_loop.c | |
| parent | 7a6c46b55a2b3bbf477242dbe036dfb0dc0474a0 (diff) | |
Notes
Diffstat (limited to 'sys/net/if_loop.c')
| -rw-r--r-- | sys/net/if_loop.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/sys/net/if_loop.c b/sys/net/if_loop.c index be6d25cc7985..eef3615a052d 100644 --- a/sys/net/if_loop.c +++ b/sys/net/if_loop.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if_loop.c 8.1 (Berkeley) 6/10/93 - * $Id: if_loop.c,v 1.35 1998/06/14 20:58:15 julian Exp $ + * $Id: if_loop.c,v 1.36 1998/06/14 23:53:43 julian Exp $ */ /* @@ -216,8 +216,19 @@ if_simloop(ifp, m, dst, hlen) #endif /* Strip away media header */ - if (hlen > 0) + if (hlen > 0) { +#ifdef __alpha__ + /* The alpha doesn't like unaligned data. + * We move data down in the first mbuf */ + if (hlen & 3) { + bcopy(m->m_data + hlen, m->m_data, m->m_len - hlen); + m->m_len -= hlen; + if (m->m_flags & M_PKTHDR) + m->m_pkthdr.len -= hlen; + } else +#endif m_adj(m, hlen); + } switch (dst->sa_family) { #ifdef INET |
