Module Name: src Committed By: pooka Date: Mon Jul 22 21:12:03 UTC 2013
Modified Files: src/sys/rump/net/lib/libshmif: if_shmem.c Log Message: In recv, align data after ether_header at _ALIGN_BYTES. To generate a diff of this commit: cvs rdiff -u -r1.56 -r1.57 src/sys/rump/net/lib/libshmif/if_shmem.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/rump/net/lib/libshmif/if_shmem.c diff -u src/sys/rump/net/lib/libshmif/if_shmem.c:1.56 src/sys/rump/net/lib/libshmif/if_shmem.c:1.57 --- src/sys/rump/net/lib/libshmif/if_shmem.c:1.56 Fri Jun 14 05:59:50 2013 +++ src/sys/rump/net/lib/libshmif/if_shmem.c Mon Jul 22 21:12:03 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: if_shmem.c,v 1.56 2013/06/14 05:59:50 pooka Exp $ */ +/* $NetBSD: if_shmem.c,v 1.57 2013/07/22 21:12:03 pooka Exp $ */ /* * Copyright (c) 2009, 2010 Antti Kantee. All Rights Reserved. @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_shmem.c,v 1.56 2013/06/14 05:59:50 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_shmem.c,v 1.57 2013/07/22 21:12:03 pooka Exp $"); #include <sys/param.h> #include <sys/atomic.h> @@ -647,6 +647,8 @@ shmif_rcv(void *arg) uint32_t nextpkt; bool wrap, passup; int error; + const int align + = ALIGN(sizeof(struct ether_header)) - sizeof(struct ether_header); reup: mutex_enter(&sc->sc_mtx); @@ -662,6 +664,7 @@ shmif_rcv(void *arg) if (m == NULL) { m = m_gethdr(M_WAIT, MT_DATA); MCLGET(m, M_WAIT); + m->m_data += align; } DPRINTF(("waiting %d/%" PRIu64 "\n",