Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Jan 2015 19:06:28 +0000 (UTC)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r276563 - head/sys/dev/cxgb/ulp/tom
Message-ID:  <201501021906.t02J6Sau082055@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201501021906.t02J6Sau082055>