Re: SIP API spec

Christian Huitema <> Tue, 26 January 1993 13:57 UTC

Received: from by IETF.CNRI.Reston.VA.US id aa01948; 26 Jan 93 8:57 EST
Received: from CNRI.RESTON.VA.US by IETF.CNRI.Reston.VA.US id aa01944; 26 Jan 93 8:57 EST
Received: from Sun.COM by CNRI.Reston.VA.US id aa08982; 26 Jan 93 8:59 EST
Received: from Eng.Sun.COM (zigzag-bb.Corp.Sun.COM) by Sun.COM (4.1/SMI-4.1) id AB04340; Tue, 26 Jan 93 05:43:28 PST
Received: from sunroof.Eng.Sun.COM by Eng.Sun.COM (4.1/SMI-4.1) id AA27094; Tue, 26 Jan 93 05:44:30 PST
Received: from Eng.Sun.COM (engmail1) by sunroof.Eng.Sun.COM (4.1/SMI-4.1) id AA02896; Tue, 26 Jan 93 05:43:13 PST
Received: from Sun.COM (sun-barr) by Eng.Sun.COM (4.1/SMI-4.1) id AA04317; Tue, 26 Jan 93 05:44:29 PST
Received: from by Sun.COM (4.1/SMI-4.1) id AA04325; Tue, 26 Jan 93 05:43:10 PST
Received: by (5.65c/IDA-1.2.8) id AA08546; Tue, 26 Jan 1993 14:42:24 +0100
Message-Id: <>
To: Bob Gilligan <>
Subject: Re: SIP API spec
In-Reply-To: Your message of "Mon, 25 Jan 93 18:23:37 PST." <9301260223.AA06471@bigriver.Eng.Sun.COM>
Date: Tue, 26 Jan 93 14:42:23 +0100
Sender: ietf-archive-request@IETF.CNRI.Reston.VA.US
From: Christian Huitema <>
Content-Length: 2284


In your spec, you mention a "SIP_FLOWID" option. When doing our
implementation, we do indeed feel the need for such an option, but also for at
least three other options:

1- An option to set the "Maximum number of hops" field in the header,
analoguous to the IP_MULTICAST_TTL option that was defined for multicast IP.

2- An option to set a "path MTU". That can be useful for datagram sockets which
have to use the reassembly protocol; it instructs "sip_output()" to send a
sequence of segments instead of a single datagram.

3- An option to set a "source route", using the loose source route protocol.

In fact, the "final state" of the SIP interface (when IP is removed) should
authorize the programmer to set up all required functions, including those
which are "multicast specific" -- multicast loop, add membership, drop
membership, multicast interface.

Note that the isolation of one specific "SIP_FLOWID" option is contradictory
with the current architecture where:

     A single socket option, IP_OPTIONS, is supported at  the  IP
     level.   This socket option may be used to set IP options to
     be included in each outgoing datagram.   IP  options  to  be
     sent  are set with setsockopt (see getsockopt(2)).  The get-
     sockopt(2) call returns the IP options set in the last  set-
     sockopt  call.  IP options on received datagrams are visible
     to user programs only using raw IP sockets.  The  format  of
     IP  options given in setsockopt matches those defined in the
     IP specification with one exception: the list  of  addresses
     for  the  source  routing options must include the first-hop
     gateway at the beginning  of  the  list  of  gateways.   The
     first-hop  gateway address will be extracted from the option
     list and the  size  adjusted  accordingly  before  use.   IP
     options  may  be  used  with any socket type in the Internet

So, we clearly have a design choice here. Either individual socket options for
Flow-id, TTL, MTU and LSR, in the "multicast" tradition, or one global
SIP_OPTIONS, like the old IP.

As far as a new name for "gethostbyname" is needed, we had chosen
"sip_name2addr" in our "bind" code -- which we ought to adapt to the new
interface specification!

Christian Huitema