Subject: Re: Patch for Fast-IPsec over loopback
To: Jun-ichiro itojun Hagino <itojun@itojun.org>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: tech-net
Date: 08/22/2003 19:19:05
>> I'd sooner have consisent behaviour (leading to robustness and
>> reliability) than an API which goes in the other direction.
>
>	i still don't see how your proposal would contribute to a consistent
>	behavior.

We seem to have reached impase.  I see more more consistency in
defining if_loop to strip nonpersistent tags.  (Apparently I'm
not the only one who sees it that way.)

You, on the other hand, seem to view certain tags as layer 3, and
others as layer 2.  I'm not saying your view is wrong; but I can't
find either documentation or source-code comments that spell out what
tags are `in your terminology, `layer 3'' versus ``layer 2''.

Once again, we are back to intuition rather than having a well-defined
API; and we already have big differences over intution of how this
`should' work.  (NB: and we havent even got to M_COPY_PKTHDR() versus
the M_MOVE_PKTHDR/m_dup_pkthdr() paradigm, yet!).

I'm starting to worry that what I'm really hearing here is, more or
less, a "Do whatever OpenBSD does".  I hope I'm wrong, because
that implies:

   a) the packet-tag interface is not well-defined (except operationally,
      by whatever OpenBSD happens to  do at any particular day)

   b) NetBSD and FreeBSD therefor cannot innovate with packet-tags

which less than satisfactory, on both counts.

That said: I'm assuming it is OK to add m_tag_delete_nonopersistent(),
to call it before reflecting an ICMP packet, and that FreeBSD (at
least) will likely do so, too?