svn commit: r276563 - head/sys/dev/cxgb/ulp/tom
Robert Watson
rwatson at FreeBSD.org
Fri Jan 2 19:06:28 UTC 2015
Author: rwatson
Date: Fri Jan 2 19:06:27 2015
New Revision: 276563
URL: https://svnweb.freebsd.org/changeset/base/276563
Log:
In mbuf_to_synq_entry(), use M_START() and M_SIZE() to calculate an offset
into mbuf storage, to reduce knowledge about mbuf/cluster layout in the
cxgb device driver.
Reviewed by: np
Sponsored by: EMC / Isilon Storage Division
Modified:
head/sys/dev/cxgb/ulp/tom/cxgb_listen.c
Modified: head/sys/dev/cxgb/ulp/tom/cxgb_listen.c
==============================================================================
--- head/sys/dev/cxgb/ulp/tom/cxgb_listen.c Fri Jan 2 19:05:39 2015 (r276562)
+++ head/sys/dev/cxgb/ulp/tom/cxgb_listen.c Fri Jan 2 19:06:27 2015 (r276563)
@@ -442,26 +442,13 @@ static struct synq_entry *
mbuf_to_synq_entry(struct mbuf *m)
{
int len = roundup(sizeof (struct synq_entry), 8);
- uint8_t *buf;
- int buflen;
if (__predict_false(M_TRAILINGSPACE(m) < len)) {
panic("%s: no room for synq_entry (%td, %d)\n", __func__,
M_TRAILINGSPACE(m), len);
}
- if (m->m_flags & M_EXT) {
- buf = m->m_ext.ext_buf;
- buflen = m->m_ext.ext_size;
- } else if (m->m_flags & M_PKTHDR) {
- buf = &m->m_pktdat[0];
- buflen = MHLEN;
- } else {
- buf = &m->m_dat[0];
- buflen = MLEN;
- }
-
- return ((void *)(buf + buflen - len));
+ return ((void *)(M_START(m) + M_SIZE(m) - len));
}
#ifdef KTR
More information about the svn-src-head
mailing list