svn commit: r230265 - head/sys/contrib/pf/net
Gleb Smirnoff
glebius at FreeBSD.org
Tue Jan 17 12:14:27 UTC 2012
Author: glebius
Date: Tue Jan 17 12:14:26 2012
New Revision: 230265
URL: http://svn.freebsd.org/changeset/base/230265
Log:
Allocate our mbuf with m_get2().
Modified:
head/sys/contrib/pf/net/if_pfsync.c
Modified: head/sys/contrib/pf/net/if_pfsync.c
==============================================================================
--- head/sys/contrib/pf/net/if_pfsync.c Tue Jan 17 12:13:36 2012 (r230264)
+++ head/sys/contrib/pf/net/if_pfsync.c Tue Jan 17 12:14:26 2012 (r230265)
@@ -2121,9 +2121,6 @@ pfsync_sendout(void)
#ifdef notyet
struct tdb *t;
#endif
-#ifdef __FreeBSD__
- size_t pktlen;
-#endif
int offset;
int q, count = 0;
@@ -2145,44 +2142,33 @@ pfsync_sendout(void)
return;
}
- MGETHDR(m, M_DONTWAIT, MT_DATA);
- if (m == NULL) {
#ifdef __FreeBSD__
+ m = m_get2(M_NOWAIT, MT_DATA, M_PKTHDR, max_linkhdr + sc->sc_len);
+ if (m == NULL) {
sc->sc_ifp->if_oerrors++;
+ V_pfsyncstats.pfsyncs_onomem++;
+ return;
+ }
#else
+ MGETHDR(m, M_DONTWAIT, MT_DATA);
+ if (m == NULL) {
sc->sc_if.if_oerrors++;
-#endif
- V_pfsyncstats.pfsyncs_onomem++;
+ pfsyncstats.pfsyncs_onomem++;
pfsync_drop(sc);
return;
}
-#ifdef __FreeBSD__
- pktlen = max_linkhdr + sc->sc_len;
- if (pktlen > MHLEN) {
- /* Find the right pool to allocate from. */
- /* XXX: This is ugly. */
- m_cljget(m, M_DONTWAIT, pktlen <= MCLBYTES ? MCLBYTES :
-#if MJUMPAGESIZE != MCLBYTES
- pktlen <= MJUMPAGESIZE ? MJUMPAGESIZE :
-#endif
- pktlen <= MJUM9BYTES ? MJUM9BYTES : MJUM16BYTES);
-#else
if (max_linkhdr + sc->sc_len > MHLEN) {
MCLGETI(m, M_DONTWAIT, NULL, max_linkhdr + sc->sc_len);
-#endif
if (!ISSET(m->m_flags, M_EXT)) {
m_free(m);
-#ifdef __FreeBSD__
- sc->sc_ifp->if_oerrors++;
-#else
sc->sc_if.if_oerrors++;
-#endif
- V_pfsyncstats.pfsyncs_onomem++;
+ pfsyncstats.pfsyncs_onomem++;
pfsync_drop(sc);
return;
}
}
+#endif
m->m_data += max_linkhdr;
m->m_len = m->m_pkthdr.len = sc->sc_len;
More information about the svn-src-all
mailing list