diff options
author | glebius <glebius@FreeBSD.org> | 2013-01-30 18:40:19 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2013-01-30 18:40:19 +0000 |
commit | e916257b91a6b70ac800386da93d28eff378d98b (patch) | |
tree | 9dc4095f00c1404c3f6eff63a05d8d85d870d235 /sys/netinet/libalias | |
parent | 0b25d373a75742682f17e2f421c6b856c8e24e5a (diff) | |
download | FreeBSD-src-e916257b91a6b70ac800386da93d28eff378d98b.zip FreeBSD-src-e916257b91a6b70ac800386da93d28eff378d98b.tar.gz |
Utilize m_get2() to get mbuf of appropriate size.
Diffstat (limited to 'sys/netinet/libalias')
-rw-r--r-- | sys/netinet/libalias/alias.c | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/sys/netinet/libalias/alias.c b/sys/netinet/libalias/alias.c index da28b22..3b2068b 100644 --- a/sys/netinet/libalias/alias.c +++ b/sys/netinet/libalias/alias.c @@ -1760,21 +1760,7 @@ m_megapullup(struct mbuf *m, int len) { if (m->m_next == NULL && M_WRITABLE(m) && M_TRAILINGSPACE(m) >= RESERVE) return (m); - if (len <= MCLBYTES - RESERVE) { - mcl = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR); - } else if (len < MJUM16BYTES) { - int size; - if (len <= MJUMPAGESIZE - RESERVE) { - size = MJUMPAGESIZE; - } else if (len <= MJUM9BYTES - RESERVE) { - size = MJUM9BYTES; - } else { - size = MJUM16BYTES; - }; - mcl = m_getjcl(M_NOWAIT, MT_DATA, M_PKTHDR, size); - } else { - goto bad; - } + mcl = m_get2(M_NOWAIT, MT_DATA, M_PKTHDR, len + RESERVE); if (mcl == NULL) goto bad; |