That Wikipedia article is wrong in all sorts of ways. It was pretty good the last time I seen it, but clearly someone has been editing it who doesn't actually USE Plan 9.
"To implement [NAT], a union directory can be created, overlaying the [gateway]'s /net directory tree with its own /net"
"Implement NAT"? Sorry, but exportfs doesn't contain any special-case code that says "oh, someone is accessing /net! Better switch on the NAT code!".
There's no actual translation of addresses, it isn't NAT. Plan 9 does have a NAT implementation but it's closed source.
And their example of a bind is horrible. They've got that LONG path into Inferno's "chroot". Inferno isn't part of standard Plan 9, and there aren't many paths in Plan 9 that are anywhere near as long as that. So it's misleading on two counts. If you must have a /bin example of a bind, a better one would be Acme binding its Acme-specific binaries and scripts onto /bin.
I'm really, really going to have clean that article up. It doesn't even have anything about how Plan 9 gets modularity without dynamic linking. Securely.
"To implement [NAT], a union directory can be created, overlaying the [gateway]'s /net directory tree with its own /net"
"Implement NAT"? Sorry, but exportfs doesn't contain any special-case code that says "oh, someone is accessing /net! Better switch on the NAT code!".
There's no actual translation of addresses, it isn't NAT. Plan 9 does have a NAT implementation but it's closed source.
And their example of a bind is horrible. They've got that LONG path into Inferno's "chroot". Inferno isn't part of standard Plan 9, and there aren't many paths in Plan 9 that are anywhere near as long as that. So it's misleading on two counts. If you must have a /bin example of a bind, a better one would be Acme binding its Acme-specific binaries and scripts onto /bin.
I'm really, really going to have clean that article up. It doesn't even have anything about how Plan 9 gets modularity without dynamic linking. Securely.
I like that they added an "Impact" section.