Both RFC 4113 (UDP MIB) and RFC 4022 (TCP MIB) have a process ID for
each endpoint (udpEndpointProcess and tcpConnectionProcess).

Was there any discussion how this can be implemented? Due to fork etc
there can be more than one process which has a socket open and only one
pid fits in the MIB.

In addition, Solaris and BSD AFAIK doesn't let the socket layer track
the current (set of) processes that have the socket open - only the
first open (when the socket is created) and the last close results in
the socket layer being called. Thus the socket layer can only track the
process that can created the socket - a sequence of socket+fork+exit
would have that process go away but the socket remain open.

Note that there are tools like lsof that allows showing the open files for processes, including the TCP and UDP information for the file descriptors that are socket. But that tool can handle a many-to-one relationship from processes to sockets/endpoints, since it starts from the process. The MIBs attempt to do this from the endpoint/socket to the process, which is what is problematic.

Do we need to deprecate or clarify these objects?

   Erik



--------------------------------------------------------------------
IETF IPv6 working group mailing list
ipv6@ietf.org
Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

Reply via email to