Thanks!
it becomes more clear for me. But i still don't undrstand some things.
1) as i understand, protocol initialization occurs in ipgetfs, which not used
anywhere, except
ipattach function in same file (devip.c). ipattach, in turn, member of ipdevtab
struct and latter
isn't used anywhere too (i haven't found any with grep).
It seems me strange, but at this point i assume, theese actions take place at
system start up (this
not true, i think).
2) it remains unclear for me where the connection establish, and where
ilconnect or tcpconnect take
place. as i think, they should be called for open connections, working on on of
these protocols. i
dont find anything relevant and don't understand, how system choose protocol
for some work.
3) with your reference on ipgetfs i'm googled presentation [1], a little
explaining to me the
mechanism of choice.
name = netmkaddr("133.137.166.17", "udp", "echo");
netmkaddr takes the text name of protocol and, as i saw in sources, and passes
it to fprint, which
call vfprint, which, in turn, call dofmt. As i understand, dofmt is some
internal machinery for
parse format string and decide to use the appropriate protocol. But I did not
see where a
connection is opened or something like that.
Is my assumption about fprint and dofmt true?
where i can read about internal system processes, which managed network
connections?
and where, nevertheless, a connection is opened? :)
Excuse my english and, maybe incomprehensible exposition of ideas, it's deep
night in Moscow now :)
Thanks.
[1] -- http://www.tip9ug.jp/meetings/udp-12Nov05/plan9udp.ppt