I'm sponsoring this case for myself.  The timeout is set for 10/8/2007
(please disregard the earlier timeout of 10/10/2007).

Introduction
------------

  Over the years, the Solaris sockets API has accrued a variety of methods
  to send or receive packets over a specific IP interface.  This case
  proposes to simplify and rationalize the landscape by removing
  IP_XMIT_IF and extending IP_BOUND_IF to match the behavior and
  commitment level of IPV6_BOUND_IF.  Since both IP_XMIT_IF and
  IP_BOUND_IF have been Consolidation Private, patch binding is requested.

Details
-------

  The IP_XMIT_IF socket option was originally introduced with Mobile IP
  (PSARC/2001/350) as a consolidation-private mechanism to force unicast
  and multicast traffic to be sent out a specific IP interface.  While
  Mobile IP has been EOL'd (PSARC/2007/311), IP_XMIT_IF was not removed
  because our in.routed implementation was making use of it.  However, we
  later realized that in.routed's needs would be better-suited by the
  IP_PKTINFO facility (PSARC/2006/466), allowing removal of IP_XMIT_IF.
  Google and koders.com reveal no external consumers of IP_XMIT_IF.

  The IP_BOUND_IF socket option was never ARC'd, but arrived in ON during
  IPv6 development, apparently to parallel the stable IPV6_BOUND_IF socket
  option documented in ip6(7P).  However, for reasons lost in the sands of
  time, IP_BOUND_IF currently supports only broadcast traffic.  We propose
  to rationalize IP_BOUND_IF to match IPV6_BOUND_IF by adding support for
  unicast and multicast traffic as well.  IP_BOUND_IF will also be
  promoted to Committed and described in ip(7P).

  To summarize, the current landscape for sending/receiving packets over
  a specific IP interface is:

                     UNICAST MULTICAST BROADCAST DIRECTION STICKY
  IP_XMIT_IF             yes       yes        no      send    yes
  IP_BOUND_IF             no        no       yes      both    yes
  IPV6_BOUND_IF          yes       yes       n/a      both    yes
  IP_MULTICAST_IF         no       yes        no      send    yes
  IPV6_MULTICAST_IF       no       yes        no      send    yes
  IP_PKTINFO             yes       yes       yes      send     no
  IPV6_PKTINFO           yes       yes       n/a      send     no

  ... and our proposed landscape is:

                     UNICAST MULTICAST BROADCAST DIRECTION STICKY
  IP_BOUND_IF            yes       yes       yes      both    yes
  IPV6_BOUND_IF          yes       yes       n/a      both    yes
  IP_MULTICAST_IF         no       yes        no      send    yes
  IPV6_MULTICAST_IF       no       yes        no      send    yes
  IP_PKTINFO             yes       yes       yes      send     no
  IPV6_PKTINFO           yes       yes       n/a      send     no

  [ Above, "DIRECTION" refers to the API's ability to limit whether a
    given socket will send or receive packets over a particular IP
    interface.  IP_PKTINFO can identify what IP interface a given packet
    was received on, but does not prevent the reception. ]

-- 
meem

Reply via email to