James Carlson wrote:
> Joachim Worringen writes:
>> James Carlson wrote:
>>> Even then, I think such things are of questionable design.  It sure
>>> would be nice if new transport layers became first-class citizens
>>> rather than piggybacking off TCP/IP.
>> This is a valid opinion; we already discussed this about one year ago 
>> when the "pluggable socket module" project (now "volo") was about to 
>> start. One (the?) major goal of this project is to allow alternate 
>> transport layers be used via the standard sockets API.
> 
> One of the problems I have with that answer is that these replacement
> paths rarely (if ever) faithfully reproduce the semantics of standard
> TCP/IP, including IP options, TCP's half-open connections and urgent
> marker, and delivery of ICMP errors.
> 
> Lacking the same semantics means that applications are left in an
> uncertain state.  They may work, if they're lucky, and don't rely in
> any way on the unimplemented parts.  They may also fail.  And there's
> no simple way to know which applications are in which class.  It's
> just happenstance.

You are right, it's not 100% compatible, but close enough for most 
applications. It's necessary to qualify specific applications, and 
that's what we are doing. The target is to accellerate specific 
applications, not to provide a 100% compliant replacement for TCP/IP 
sockets.

While talking about semantic compliance: Is there a publicly usable 
socket test suite? We are writing test cases as we need them, but surely 
don't cover "everything".

> (And that's not even mentioning the higher-level problems, such as
> having a data path that completely ignores configured IP filters,
> IPsec policy, QoS, and TX labeling.)

These features are typically not needed within, say, a database cluster. 
See above.

> In any event, what you're doing sounds like a familiar path.  I'd
> suggest getting in touch with the SDP folks and doing something
> similar.  I suspect that getting it right enough to be usable very
> likely means relying on currently-undocumented interfaces.

So far, we could avoid it, but we're not yet through.

>>> If you go with sockets, then a routing socket (PF_ROUTE) will tell you
>>> about interface events.
>> Thanks, we'll see how we can use this. This is not our primary problem, 
>> though.
> 
> I don't think I understand that answer ... your question was about
> getting notification when an interface changes so that you can get the
> updated address / mask / flags on that interface.  That's exactly what
> a routing socket will do.

I just wanted to say "Thanks for the information, but we will not have 
to use it right away, so expect me to come back with problems on this 
part within a few months." ;-)

>>> See neti and the existing IP Filter code ... but you'd likely want to
>>> be in bed with the IP implementation itself to accomplish this.  Doing
>>> it as a separate driver sounds dicey to me, as we don't have stable
>>> interfaces for it.
>> We are not eager to use undocumented interfaces...
> 
> Understandably so.  If you do end up using undocumented interfaces,
> and you're not willing to integrate into the consolidation where those
> interfaces are managed (ON), then I'd recommend finding out who has
> responsibility for those interfaces, and getting an ARC contract on
> them.
> 
> An ARC contract isn't a financial or legal instrument; it's a
> technical tool that allows you to specify which undocumented
> interfaces you need to have unchanged for your code to continue
> working, and outline a plan for communicating and coordinating changes
> that are required.

O.k., thanks for this advice. But what do you mean by "integrating into 
the consolidation"? How would this change the status of an interface 
being undocumented/volatile?

  Joachim

-- 
Joachim Worringen, Software Architect, Dolphin Interconnect Solutions
phone ++49/(0)228/324 08 17 - http://www.dolphinics.com
_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to