* /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
* Re: /net
[not found] ` <f188924b0811121725o2e99574as3362c9a7b9348b08-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2008-11-13 2:24 ` Stephen Hemminger
2008-11-14 17:47 ` /net Paweł Sikora
1 sibling, 0 replies; 3+ messages in thread
From: Stephen Hemminger @ 2008-11-13 2:24 UTC (permalink / raw)
To: Fred .; +Cc: linux-api-u79uwXL29TY76Z2rM5mHXA, netdev-u79uwXL29TY76Z2rM5mHXA
On Thu, 13 Nov 2008 02:25:33 +0100
"Fred ." <eldmannen-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> 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 ?
Sure patches accepted for review anytime :-)
--
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
* Re: /net
[not found] ` <f188924b0811121725o2e99574as3362c9a7b9348b08-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-11-13 2:24 ` /net Stephen Hemminger
@ 2008-11-14 17:47 ` Paweł Sikora
1 sibling, 0 replies; 3+ messages in thread
From: Paweł Sikora @ 2008-11-14 17:47 UTC (permalink / raw)
To: Fred .; +Cc: linux-api-u79uwXL29TY76Z2rM5mHXA
On Thursday 13 of November 2008 02:25:33 you wrote:
> Plan 9 has a /net directory.
autofs machinery also uses /net directory...
--
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).