linux-api.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* /net
@ 2008-11-13  1:25 Fred .
       [not found] ` <f188924b0811121725o2e99574as3362c9a7b9348b08-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Fred . @ 2008-11-13  1:25 UTC (permalink / raw)
  To: linux-api-u79uwXL29TY76Z2rM5mHXA

Plan 9 has a /net directory.


/net is the API for all TCP/IP, and it can be used even with scripts
or shell tools, writing data to control files to write and read
connections. Relevant sub-directories like /net/tcp and /net/udp are
used to interface to prospective protocols. You can implement a NAT by
mounting a /net from a perimeter machine with a public IP, while
connecting to it from an internal network of private IP addresses,
using the Plan 9 protocol 9P in the internal network. Or you can
implement a VPN by mounting a /net directory from a remote gateway,
using secured 9P over the public Internet.

Here would be an example of using union (a stack) directories in /net:
just like inheritance in OOP, you can take one (possibly remote)
/special directory and bind another local special directory on top of
that, adding some new control files and hiding others. The union
directory now is like a child object instance of the original parent.
The functionality of the original can be partially modified. Consider
the /net file system. If you modify or hide its /net/udp sub-directory
you may control or extend the UDP interface with local filter
processes, still leaving the original /net/tcp running intact, perhaps
in a remote machine. Note that name space is per process: if you give
an untrusted application a limited, modified /net union directory, you
restrict its access to the net.

All this makes it easy to combine "objects" or file systems written in
different languages on different systems, while using standard naming,
access control and security of the file system, largely transparently
to the programmer.


I saw that Linux implemented many things from Plan 9 such as /proc,
union mounts, etc. Will Linux also implement /net ?
--
To unsubscribe from this list: send the line "unsubscribe linux-api" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-11-14 17:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-13  1:25 /net Fred .
     [not found] ` <f188924b0811121725o2e99574as3362c9a7b9348b08-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-11-13  2:24   ` /net Stephen Hemminger
2008-11-14 17:47   ` /net Paweł Sikora

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).