Date:        Wed, 15 Nov 2000 14:35:51 +0100
    From:        Francis Dupont <[EMAIL PROTECTED]>
    Message-ID:  <[EMAIL PROTECTED]>


  | => can you explain how you express this (for instance the
  |    interpretation of a header depends upon where it is found)
  |    in an API?

Not the way you're expecting no.   But that's because the current APIs
are more like assembler level programming - the application says exactly
what it wants, but other than building the packet in user space and simply
telling the kernel to send it, the API doesn't have the generality to
express much useful.   Basically the current API provides an interface
where the application builds the packet (conceptually) but has the
kernel (the thing under the API, which could also be library routines)
do all the bookkeeping and grunge work.

A better API would allow the application to express its intent at a
higher level - rather than "add fragmentation header" it would say
something more like "I want to send unit packets N bytes long", and
then the kernel might determine that that required a fragmentation
header to be added (or not, in a particular case).

With a less packet specific API, the application expresses its desire
and the kernel (stack) implements it - and if to do that means putting
options in the hop by hop header, then fine, or if it can be done by
sticking them in DO1, then fine, or if it can be done by sticking them
in DO2, also fine - of if sticking a DO header between ESP and AH is
what achieves the goal, that's just fine as well, or putting it between
the routing header and the frag header achieves it, fine too.  The latter
might be appropriate for an option that was intended to be parsed before
reassembly, but only at the final destination - perhaps one to control
how reassembly should proceed - maybe timer setting or something, and the
API would be "reassemble in 10ms or drop" from the application to the stack.

kre

--------------------------------------------------------------------
IETF IPng Working Group Mailing List
IPng Home Page:                      http://playground.sun.com/ipng
FTP archive:                      ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]
--------------------------------------------------------------------

Reply via email to