Peter Memishian writes:
> 
>  > > One question I've long had on this code is why we use copymsg() rather
>  > > than dupmsg().
>  > 
>  > I _think_ the original rationale was that, since we're just going to
>  > do a copymsg() in ip_input->ip_fix_dbref anyway, we might as well skip
>  > the wasteful allocation/free of an mblk_t (merely to tell IP, "here;
>  > you do the copy") and skip right to the data copy that's going to
>  > happen anyway.
> 
> Though ip_fix_dbref() is new with Xen, and that copymsg() code has been
> there since GLDv3 integrated.

The issue is _far_ older than that.  In version 1.347 of ip.c, the
last before Fireengine integrated, ip_rput() checked db_ref and called
copymsg() if greater than 1.

The always-copy logic seems to have gone in with this change:

D 1.134 97/05/06 10:44:17 rfox 340 338  00052/00041/09918
MRs:
COMMENTS:
bugs 4027163 & 4027160 & (4013442 IP illegally modifies data blocks)

-- 
James Carlson, Solaris Networking              <[EMAIL PROTECTED]>
Sun Microsystems / 35 Network Drive        71.232W   Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757   42.496N   Fax +1 781 442 1677
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to