2008/688 Sun Cluster TCP/IP Hooks Update

Erik Nordmark erik.nordmark at sun.com
Tue Nov 11 22:49:03 PST 2008


James Carlson wrote:

>   The situation for UDP is a bit different.  Since there is no real
>   connection in UDP and the same socket can be used to send to
>   multiple destinations, the major task is to register the five-tuple
>   at the cluster level.  Such registration is performed at connect(),
>   sendto() and sendmsg(), which call the cl_inet_connect() hook at
>   proper time.  For performance reasons, sendto()/sendmsg() calls the
>   hook only when the destination is new.  To facilitate this, two new
>   fields are added to the udp_t struct to store the most recent
>   destination address and port: in6_addr_t udp_cl_v6lastdst; in_port_t
>   udp_cl_lastdstport; In a sendto() or sendmsg(), the
>   cl_inet_connect() hook is called only when the destination is
>   different from most recent one.

Since UDP currently does not call cl_inet_connect, I assume the above 
paragraph refers to the proposed new behavior.

Does the reference to sendmsg/sendto imply that this will be implemented 
in sockfs? Or will it be implemented in TCP?

I don't understand why a new udp_cl_v6lastdst is needed since udp 
already has a udp_v6lastdst field.


Is the intent that Cluster be useful with exclusive-IP zones in the future?
If so it might make sense to take this opportunity to introduce an 
instance identifier to the function signatures.

    Erik




More information about the opensolaris-arc mailing list