On Fri, Oct 26, 2001 at 08:47:27PM +0900, Keiichi SHIMA / ?$BEg7D0l?(B wrote:
> Right.  And we will have a problem if someone changes the semantics of
> M_LEADINGSPACE.  The M_LEADINGSPACE macro of Net/OpenBSD does the same
> as the current FreeBSD does, that is, returns 0 if M_EXT is set.
> 
> > When I looked at this question last year I think I found that there
> > were few enough places in the kernel which used M_LEADINGSPACE, so
> > it should be fairly easy to check them. However, I think several
> > of the uses were in KAME code.
> 
> The patch posted first by Luigi is safe because the patch doesn't
> change any semantics of M_LEADINGSPACE.  I think it (and the patch)
> reasonbale that M_LEADINGSPACE returns 0 when the mbuf (cluster) is
> not writable and the real space when the mbuf (cluster) is writable.
> 
> But, I disagree the later proposal from Bosko that changes the meaning
> of M_LEADINGSPACE.  This leads more ifdefs in the shared code
> (ex. KAME, maybe other cross-platform projects) and the code
> complexity.

  Just because M_LEADINGSPACE may be broken in the other systems does
not mean that it should be broken in our system as well. I am against
sacrificying good code in order to deal with the left-over stupidities
(pardon the seemingly harsh vocabulary) in the other systems, when it
comes to porting.
  You should understand that M_LEADINGSPACE was meant to return the
number of leading bytes in the underlying data buffer and that it was
only broken when someone decided to half-implement ext bufs. This
brokeness happened to live on in present-day systems and unbreaking it
should not be put on hold for the sake of pseudo-compatibility, IMHO.

> ---
> Keiichi SHIMA
> IIJ Research Laboratory  <[EMAIL PROTECTED]>
> KAME Project <[EMAIL PROTECTED]>
> 

-- 
 Bosko Milekic
 [EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message

Reply via email to