From owner-FreeBSD-tech-jp@jp.freebsd.org  Wed Mar 25 20:11:05 1998
Received: by jaz.jp.freebsd.org (8.8.8+3.0Wbeta7/8.7.3) id UAA15967
	Wed, 25 Mar 1998 20:11:05 +0900 (JST)
Received: by jaz.jp.freebsd.org (8.8.8+3.0Wbeta7/8.7.3) with ESMTP id UAA15958
	for <FreeBSD-tech-jp@jp.freebsd.org>; Wed, 25 Mar 1998 20:11:01 +0900 (JST)
Received: from capella.pfu.co.jp ([202.248.171.134])
	by nejimaki2.pfu.co.jp (8.8.8+2.7Wbeta7/3.6Wbeta7-97111523) with ESMTP id UAA11869
	for <FreeBSD-tech-jp@jp.freebsd.org>; Wed, 25 Mar 1998 20:11:00 +0900 (JST)
Received: from tradmgw.trad.pfu.co.jp by capella.pfu.co.jp (8.8.8+2.7Wbeta7/3.4W5-MX971027-PFU Domain Mail Master)
	id UAA20526; Wed, 25 Mar 1998 20:10:52 +0900 (JST)
Received: from moon.trad.pfu.co.jp by tradmgw.trad.pfu.co.jp (8.8.7/3.4W5-MX971108-PFU trad Domain Mail Master)
	id UAA00108; Wed, 25 Mar 1998 20:11:00 +0900 (JST)
Received: by moon.trad.pfu.co.jp (SMI-8.6/6.4J.6-PFU-3.0)
	id UAA02044; Wed, 25 Mar 1998 20:12:40 +0900
Message-Id: <199803251112.UAA02044@moon.trad.pfu.co.jp>
To: FreeBSD-tech-jp@jp.freebsd.org
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
Date: Wed, 25 Mar 1998 20:12:40 +0900
From: SAKUMA takayuki <takayuki@moon.trad.pfu.co.jp>
Reply-To: FreeBSD-tech-jp@jp.freebsd.org
Precedence: bulk
X-Distribute: distribute [version 2.1 (Alpha) patchlevel=24]
X-Sequence: FreeBSD-tech-jp 1316
Subject: [FreeBSD-tech-jp 1316] m_split()=?ISO-2022-JP?B?GyRCJE5MZEJqISkbKEI=?=
Errors-To: owner-FreeBSD-tech-jp@jp.freebsd.org
Sender: owner-FreeBSD-tech-jp@jp.freebsd.org

$B:45W4V!w#P#F#U$G$9!%(B

FreeBSD$B$N(BTCP/IP$B%9%?%C%/$r$$$8$/$C$F$$$k$N$G$9$,!$(B/sys/kern/uipc_mbuf.c
$B$N(Bm_split()$B$K$D$$$F!$$*$+$7$$$H;W$o$l$k$H$3$m$,$"$k$N$G$9$,!%!%!%(B

        if (m0->m_flags & M_PKTHDR) {
                MGETHDR(n, wait, m0->m_type);
                if (n == 0)
                        return (0);
                n->m_pkthdr.rcvif = m0->m_pkthdr.rcvif;
                n->m_pkthdr.len = m0->m_pkthdr.len - len0;
                m0->m_pkthdr.len = len0;
                if (m->m_flags & M_EXT)
                        goto extpacket;
                if (remain > MHLEN) {
                        /* m can't be the lead packet */
                        MH_ALIGN(n, 0);
                        n->m_next = m_split(m, len, wait);
                        if (n->m_next == 0) {
                                (void) m_free(n);
                                return (0);
                        } else
                                return (n);
                } else

$B$NItJ,$J$s$G$9$,!$(BMGETHDR() $B$G?75,$N(Bmbuf$B$G$"$k(B n $B$r3MF@$7!$(Bremain $B$,(B
MHLEN $B$h$jBg$-$$>l9g$K!$(Bm_split() $B$r:F5"8F=P$7$r9T$C$F!$$5$i$KJ,3d$r$+(B
$B$1$F$$$k$h$&$J$N$G$9$,!%!%!%(B

n->m_len $B$C$F(B MGETHDR() $B$G$b(B MH_ALIGN $B$G$b@_Dj$5$l$k$3$H$,$J$/$C$F!$$3(B
$B$N$^$^$G$O(B n->m_len $B$C$FITDjCM$N$^$^I|5"CO$H$7$F8F=P$785$KEO$5$l$k$3$H(B
$B$K$J$C$F$7$^$&$N$G$O$H;W$&$N$G$9!%(B

m_split() $B$C$F!$%Q%1%C%H$N%U%i%0%a%s%H$d(B sosend() $B$GAw?.$5$l$h$&$H$9$k(B
$B%G!<%?$NJ,3d$J$I$G;HMQ$5$l$F$$$k$b$N$G$9$,!$$3$3$G(B n->m_len $B$,ITDjCM$N(B
$B$^$^>e0L$KEO$7$F$7$^$&$H!$EvA3!$(Bn->m_next $B$NA0$KIT@5%G!<%?$,B8:_$9$k$h(B
$B$&$J(B mbuf chain $B$K$J$C$F$7$^$&$H;W$&$N$G$9!%(B

MFREE() $B$K$*$$$F$b(B m->m_len $B$,%/%j%"$5$l$k$3$H$O$J$/!$$I$3$b$3$NCM$r$$(B
$B$8$k$h$&$J$3$H$O$J$5$=$&$G$9!%$3$s$J$H$3$m$O$1$C$3$&N.$l$kItJ,$@$H;W$&(B
$B$N$G$9$,!$%G!<%?$,2u$l$k$h$&$J$3$H$O$$$^$N$H$3$m7P83$7$?3P$($O$"$j$^$;(B
$B$s!%!%!%(B

$B$$$^$N$H$3$m!$(BFreeBSD$B$H$7$F;H$C$F$$$kJ,$K$OLdBj$OH/@8$7$F$$$J$$$h$&$G(B
$B$9$,!$K\Ev$O$I$3$+$G$3$NLdBj$,H/@8$7$J$$$h$&$K$5$l$F$$$k$N$+!$$b$7$/$O(B
$BLdBj$,8+$($F$$$J$$$@$1$J$N$+!%!%!%$3$l$,$o$+$j$^$;$s!%(B

FreeBSD-2.1.5-RELEASE $B$K$*$$$F$b!$(BFreeBSD-2.2.5-RELEASE $B$K$*$$$F$b$3$3(B
$B$N%3!<%I$OJQ99$5$l$F$$$^$;$s!%(B

$B!V$3$l$O$M!$$3$&$$$&$3$H$J$s$@$h!W$H$o$+$kJ}$,$$$i$C$7$c$$$^$7$?$i65$((B
$B$F$b$i$($k$HBgJQ$&$l$7$$$G$9!%$h$m$7$/$*4j$$$7$^$9!%(B

# $B$^$5$+!$K\Ev$K%P%0!)(B

------
  $B:45W4V(B $B7IG7(B ( Sakuma Takayuki ) 
    ($B3t(B)$B#P#F#U(B $BBh0l;v6HIt(B $B%M%C%H%o!<%/3+H/It(B $B#N#E#T4pHW%W%m%8%'%/%H(B
    Internet : takayuki@pfu.co.jp
    Nifty    : LDE03272(office) HQC03001(home)
