As folks may remember, the current IPMP Rearchitecture design doc
specifies a new SO_RTSIPMP socket option.  Specifically, it states:

  As with SIOCGLIFCONF, it is expected that most [routing socket]
  applications will wish to remain unaware of the underlying interfaces in
  an IPMP group.  However, administrative applications which need to be
  aware of changes to the underlying interfaces will be able to enable the
  new SOL_SOCKET SO_RTSIPMP socket option.

While I think the IPMP-related semantics of this option are right, I've
never been too happy with the name or lack of generality.  As such, after
discussing this with Dan this afternoon, I propose the following revisions:

        * Since it's not a general socket option, and since none of the
          existing IPPROTO_ option values make sense, I propose to
          introduce a new SOL_ROUTE "level" for this option.  This will
          be documented in getsockopt(3SOCKET).

        * Since it would be reasonable to have similar routing socket
          semantics for other "hidden" addresses (such as IFF_TEMPORARY
          addresses and IFF_NOXMIT interfaces), I propose to generalize
          the name of the option to RT_AWARE, which will take a bit array
          of special address types the application is aware of.  For now,
          there will only be two values for RT_AWARE: RTA_DEFAULT (0), and
          RTA_UNDER_IPMP (analogous to LIFC_UNDER_IPMP).  But we could add
          additional values such as RTA_NOXMIT and RTA_TEMPORARY in the
          future to support similar semantics for other hidden addresses.

Thoughts?

-- 
meem

Reply via email to