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