Joachim Worringen writes:
> Greetings,
> 
> I wonder about the relevance and consideration of XOPEN sockets.
> 
> For certain XOPEN defines, i.e. socket() is mapped to __xnet_socket(), 
> which results in so_socket() being called with SOV_XPG4_2. However, this 
> does not seem to make much difference in the code, though, as I only 
> found checks like this one:

The flag is set when "-lxnet" is used, which is fairly common on
Solaris.

Many people use "-lxnet" in preference to "-lsocket -lnsl" because:

  - It's standards-compliant

  - It allows you to use ancillary data

That latter one is quite important.  Lack of a compatible way to
introduce ancillary data on "old-style BSD" sockets is a big flaw with
-lsocket, and a good reason to want to kill that library off
eventually (so we're always XPG compliant).

> [from socksctp.c - and sctp seems to be the only protocol that considers 
> this at all, judging from the code searches I did:
> http://src.opensolaris.org/source/search?q=SOV_XPG4_2&defs=&refs=&path=&hist=&project=%2Fvolo]

You'll probably want to use cscope or grep or even google.  I don't
think that search engine works very well.  (It certainly seems to miss
things.)

> Conc. the relevance: X/Open sockets have been dropped from Stevens UNP 
> vol1, but it's still around: the latest binary from MySQL Cluster uses 
> __xnet_socket().

Anything that calls __xnet_socket directly is broken.  I hope it's
actually calling socket() and compiling with the right flags ...

> The reason why I care at all is that we are implementing plug-in sockets 
> for low-latency communication (see project volo).

Sounds good ... but both XPG and old-style sockets are required.

-- 
James Carlson, Solaris Networking              <[EMAIL PROTECTED]>
Sun Microsystems / 35 Network Drive        71.232W   Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757   42.496N   Fax +1 781 442 1677
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to