svn commit: r230265 - head/sys/contrib/pf/net

Ermal Luçi eri at freebsd.org
Tue Jan 17 16:48:11 UTC 2012


Maybe it does not hurt in general to keep the V_

Some work was done to add it, no?!

On Tue, Jan 17, 2012 at 1:14 PM, Gleb Smirnoff <glebius at freebsd.org> wrote:

> 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;
>
>


-- 
Ermal


More information about the svn-src-all mailing list