From a98ce6e7631e17067299ebfa42be28232dfa75c5 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Fri, 25 Jul 2008 02:52:24 +0000 Subject: web commit by zhengda --- community/da.mdwn | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) (limited to 'community') diff --git a/community/da.mdwn b/community/da.mdwn index ad3aebc8..96c2a694 100644 --- a/community/da.mdwn +++ b/community/da.mdwn @@ -44,30 +44,14 @@ A filter translator is needed to enforce the policies between the interface and * Only one pfinet can connect to the translator at a time. ---- - -## The schedule -From 14.06 - 18.06 Coding: -build the connection between pfinets in sub-hurd and network interface (by broadcasting) - -From 21.06 - 25.06 Coding: -build the connection between the multiplexer and the pfinet server in the main hurd. - -From 26.06 - 13.07 Coding: -Implement the real routing among the pfinets and the network interface - -From 15.07 - 10.08 Coding: -Implement some traffic control in the multiplexer and some policy control if necessary - -From 11.08 - 18.08 Testing - - --- ## TODO ### Coding -a proxy of the process server + - a proxy of the process server. + - set the device into the promiscuous mode. + - add the policy control. for example, a suer's pfinet has to connect to the filter translator instead of to the interface directly. --- @@ -76,7 +60,7 @@ a proxy of the process server ### Coding pfinet server overriding by modifying glibc. The patch is [here](http://www.assembla.com/spaces/VNetHurd/documents/aJidqKp6ur3z-Nab7jnrAJ/download/A%20patch%20of%20glibc). -the patch of pfinet is [here](http://www.assembla.com/spaces/VNetHurd/documents/dqoQg0qUer3Asvab7jnrAJ/download/A%20patch%20of%20pfinet). +fix pfinet to use the proper filter rule. The patch of pfinet is [here](http://www.assembla.com/spaces/VNetHurd/documents/dqoQg0qUer3Asvab7jnrAJ/download/A%20patch%20of%20pfinet). the multiplexer: -- cgit v1.2.3 From 1da5c0f6ce53c6b73db71a193875f72be5ef2472 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Fri, 25 Jul 2008 03:00:59 +0000 Subject: web commit by zhengda --- community/da.mdwn | 1 + 1 file changed, 1 insertion(+) (limited to 'community') diff --git a/community/da.mdwn b/community/da.mdwn index 96c2a694..93c1cdde 100644 --- a/community/da.mdwn +++ b/community/da.mdwn @@ -60,6 +60,7 @@ A filter translator is needed to enforce the policies between the interface and ### Coding pfinet server overriding by modifying glibc. The patch is [here](http://www.assembla.com/spaces/VNetHurd/documents/aJidqKp6ur3z-Nab7jnrAJ/download/A%20patch%20of%20glibc). + fix pfinet to use the proper filter rule. The patch of pfinet is [here](http://www.assembla.com/spaces/VNetHurd/documents/dqoQg0qUer3Asvab7jnrAJ/download/A%20patch%20of%20pfinet). the multiplexer: -- cgit v1.2.3 From 2f9d697d1298cd744d3cf5362055380d252168b7 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Fri, 25 Jul 2008 12:52:36 +0000 Subject: web commit by scolobb --- community/scolobb.mdwn | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) (limited to 'community') diff --git a/community/scolobb.mdwn b/community/scolobb.mdwn index b4aadde0..e0fbd00d 100644 --- a/community/scolobb.mdwn +++ b/community/scolobb.mdwn @@ -32,11 +32,17 @@ The code is at . * The skeleton which mirrors the filesystem. -####TODO: +* Provided the looking up of files with special suffixes like 'file,,x' + +* Implemented the propagation of a translator on all files belonging + to directory 'dir' in the case of the following query: 'dir,,x/' -* Provide the looking up of files with special suffixes like 'file,,x' +* Any translator can access the untranslated version of the node it is + to be set upon by specifying the corresponding flags to the + *lib*_startup routine, where *lib* is the name of the library used + to create the translator. -* Provide RPC for accessing the untranslated node. +####TODO: * Create special translators for the main proxy so that its functionality should be complete. @@ -44,10 +50,28 @@ The code is at . * Refine the skeleton in several places so that it should become faster and more reliable. +* Kill bugs. + --- ###Progress +####6: Fri Jul 25, ~04:00 UTC - ? + +> Implementing a skeleton of the translator that should filter the translator stack it is set upon. + +####5: Thu Jul 24, ~17:00 UTC - Thu Jul 24, ~18:30 UTC: + +> Created a *libnetfs*-based one-node translator, working exactly like the *libtrivfs*-based translator I had written before; the former, however, can be included in a translator stack. + +####4: Tue Jul 22, ~15:00 UTC - Thu Jul 24, ~17:00 UTC: + +> Attempted to make a *libtrivfs*-based translator to be able to be stacked upon itself (to be able to receive a translator on top of itself, more exactly); attempted to borrow some code from *libnetfs* but this didn't bring any results. + +####3: Sun Jul 20, ~15:00 UTC - Tue Jul 22, ~15:00 UTC: + +> Implemented the possibility to propagate a translator on all files belonging to a directory 'dir' in the request of the type 'dir,,x/'. + ####2: Thu Jul 17, ~13:00 UTC - Fri Jul 18, ~21:00 UTC: > Extended the lookup code in *nsmux* to allow for looking up nodes like 'file,,x' and added the possibility to escape the double-comma in the following way: ',,,'. -- cgit v1.2.3 From 6ad08b828b3b7b893d01a3df086bd98edcb1cb35 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Tue, 29 Jul 2008 03:33:35 +0000 Subject: web commit by zhengda --- community/da.mdwn | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'community') diff --git a/community/da.mdwn b/community/da.mdwn index 93c1cdde..001d3f58 100644 --- a/community/da.mdwn +++ b/community/da.mdwn @@ -49,8 +49,12 @@ A filter translator is needed to enforce the policies between the interface and ## TODO ### Coding - - a proxy of the process server. - - set the device into the promiscuous mode. + - set the device into the promiscuous mode + - give more options in the filter translator to provide the range of IP addresses + - writing the /dev/eth0 translator + - a proxy of the proc server + - make subhurds running without root privileges + - merge BPF rules from the filter translator and the multiplexer - add the policy control. for example, a suer's pfinet has to connect to the filter translator instead of to the interface directly. --- -- cgit v1.2.3 From 06f286b387918a17a9dfb72b9e7d1d62bd4d110e Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Tue, 29 Jul 2008 11:58:00 +0000 Subject: web commit by flaviocruz --- community/flavioc.mdwn | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'community') diff --git a/community/flavioc.mdwn b/community/flavioc.mdwn index a0c0d036..5f83cd62 100644 --- a/community/flavioc.mdwn +++ b/community/flavioc.mdwn @@ -26,7 +26,6 @@ Creating an extensible translator library in lisp using the mig generated stubs. - The library for writing translators is mostly written. - This library is intended to implement virtual filesystems. Examples are: translators were data is located in a local file (like zipfs, tarfs, rarfs, ...), single file translators (that do content filtering, output of a command, etc), network based filesystems (ftpfs, httpfs, ...) -- Right now, what's missing is: support for symlinks, file execution, and setting other translators on our node tree. - It's possible to specialize the basic translator library and implement new translator classes. This is done using CLOS. - There is a tree-translator class that makes the managing of a node tree very easy, doing all the work for us, through a simple directory API and implementing the directory callbacks for us. - There is a simple example (something like zipfs) translator that can expose the directories and file contents of a ZIP file. @@ -49,12 +48,11 @@ Creating an extensible translator library in lisp using the mig generated stubs. ### What needs to be done - Using continuations for IO blocking operations. This can be done using cl-cont. -- Callbacks: - - file_lock, file_lock_stat (still not sure if they are really needed) - - file_reparent -- Bind the client RPC calls. +- Create an example proxy translator. +- Fix file_exec, fsys_getroot (block happens in trivfs based translators, when they do RPC's to me when I call fsys_getroot to them) and fetch_root (for passive translators). - Use the socket stubs? - +- Documentation +- More testing ### Notes -- cgit v1.2.3 From 1efc283c789ea9d3a61e18225d7d2286749a6e5c Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Tue, 29 Jul 2008 12:34:07 +0000 Subject: web commit by flaviocruz --- community/flavioc.mdwn | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'community') diff --git a/community/flavioc.mdwn b/community/flavioc.mdwn index 5f83cd62..8b6b49b3 100644 --- a/community/flavioc.mdwn +++ b/community/flavioc.mdwn @@ -16,7 +16,7 @@ Some [Hurd stuff](http://opensvn.csie.org/leic/hurd/) And code: [cl-hurd](http://freehg.org/u/flavioc/cl-hurd/) -hg clone http://freehg.org/u/flavioc/cl-hurd/ +hg clone [http://freehg.org/u/flavioc/cl-hurd/](http://freehg.org/u/flavioc/cl-hurd/) ## Summer session @@ -49,14 +49,11 @@ Creating an extensible translator library in lisp using the mig generated stubs. - Using continuations for IO blocking operations. This can be done using cl-cont. - Create an example proxy translator. -- Fix file_exec, fsys_getroot (block happens in trivfs based translators, when they do RPC's to me when I call fsys_getroot to them) and fetch_root (for passive translators). +- Fix file-exec, fsys-getroot (block happens in trivfs based translators, when they do RPC's to me when I call fsys_getroot to them) and fetch-root (for passive translators). - Use the socket stubs? - Documentation - More testing -### Notes - -- File execution is complicated to do, because there is no multithreading support on CLisp and continuations won't do it. Maybe forking the clisp process?. ## To do -- cgit v1.2.3 From d6663e4a6a60a47f9f64f56ee3128ccb3133d058 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Tue, 29 Jul 2008 19:10:31 +0000 Subject: web commit by flaviocruz --- community/flavioc.mdwn | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'community') diff --git a/community/flavioc.mdwn b/community/flavioc.mdwn index 8b6b49b3..184febdf 100644 --- a/community/flavioc.mdwn +++ b/community/flavioc.mdwn @@ -29,6 +29,10 @@ Creating an extensible translator library in lisp using the mig generated stubs. - It's possible to specialize the basic translator library and implement new translator classes. This is done using CLOS. - There is a tree-translator class that makes the managing of a node tree very easy, doing all the work for us, through a simple directory API and implementing the directory callbacks for us. - There is a simple example (something like zipfs) translator that can expose the directories and file contents of a ZIP file. +- More translator examples include: + - /dev/null translator. + - /dev/zero translator. + - translator that creates a symlink node. - Translator options (manipulated through fsysopts) have a simple and easy to use API. - All the Mach port manipulation API is available. - It's possible to send and receive messages. Simple example: -- cgit v1.2.3 From 11547ed5585a1cc52ad96eac6607b19cc54357df Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Tue, 29 Jul 2008 19:33:03 +0000 Subject: web commit by flaviocruz: Add more translators in what's done. Refer upstream integration in TODO list. Add dependencies. Refer asdf. --- community/flavioc.mdwn | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'community') diff --git a/community/flavioc.mdwn b/community/flavioc.mdwn index 184febdf..89d20950 100644 --- a/community/flavioc.mdwn +++ b/community/flavioc.mdwn @@ -25,7 +25,7 @@ Creating an extensible translator library in lisp using the mig generated stubs. ### What's done - The library for writing translators is mostly written. -- This library is intended to implement virtual filesystems. Examples are: translators were data is located in a local file (like zipfs, tarfs, rarfs, ...), single file translators (that do content filtering, output of a command, etc), network based filesystems (ftpfs, httpfs, ...) +- This library is intended to implement virtual filesystems. Examples are: translators were data is located in a local file (like zipfs, tarfs, rarfs, ...), single file translators (that do content filtering, output of a command, etc), network based filesystems (ftpfs, httpfs, ...), proxy filesystems (like hostmux, usermux, etc..) - It's possible to specialize the basic translator library and implement new translator classes. This is done using CLOS. - There is a tree-translator class that makes the managing of a node tree very easy, doing all the work for us, through a simple directory API and implementing the directory callbacks for us. - There is a simple example (something like zipfs) translator that can expose the directories and file contents of a ZIP file. @@ -33,6 +33,9 @@ Creating an extensible translator library in lisp using the mig generated stubs. - /dev/null translator. - /dev/zero translator. - translator that creates a symlink node. + - tmpfs like translator. + - a translator that does proxying between clients and the underlying translator return all data in upper-case. + - a translator that watches for changes in a file describing the file system structure. - Translator options (manipulated through fsysopts) have a simple and easy to use API. - All the Mach port manipulation API is available. - It's possible to send and receive messages. Simple example: @@ -47,16 +50,34 @@ Creating an extensible translator library in lisp using the mig generated stubs. - New message types (like :string, :integer) can be implemented, providing a powerful extension mechanism. - Creation of symlinks and symlink path resolution. - Creation of character/block devices, fifos and sockets. +- Patch that opens stdin + stdout to /dev/null. +- Project has been separated into 5 ASDF installable systems: + - hurd-common + - mach + - hurd + - hurd-translator + - tree-translator ### What needs to be done - Using continuations for IO blocking operations. This can be done using cl-cont. -- Create an example proxy translator. - Fix file-exec, fsys-getroot (block happens in trivfs based translators, when they do RPC's to me when I call fsys_getroot to them) and fetch-root (for passive translators). - Use the socket stubs? - Documentation - More testing +- Integrate upstream + - I think it's a better idea to create a separate module/project for the project than integrating it in the Hurd tree. + - Another advantage is that savannah provides mercurial hosting. + + +### Project dependencies + +- CLISP +- [CFFI](http://common-lisp.net/project/cffi/) (apt-get installable) +- [Flexi streams](http://www.weitz.de/flexi-streams/) (apt-get installable) +- [Trivial garbage](http://www.cliki.net/trivial-garbage) (not in debian repositories) +- [cl-zip](http://common-lisp.net/project/zip/) (only needed for the example translator) ## To do -- cgit v1.2.3 From 7ddd2852e983977c7481e947746b2531e6d71d8c Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Wed, 30 Jul 2008 09:30:34 +0000 Subject: web commit by zhengda --- community/da.mdwn | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'community') diff --git a/community/da.mdwn b/community/da.mdwn index 001d3f58..0fef37e0 100644 --- a/community/da.mdwn +++ b/community/da.mdwn @@ -49,7 +49,6 @@ A filter translator is needed to enforce the policies between the interface and ## TODO ### Coding - - set the device into the promiscuous mode - give more options in the filter translator to provide the range of IP addresses - writing the /dev/eth0 translator - a proxy of the proc server @@ -63,10 +62,14 @@ A filter translator is needed to enforce the policies between the interface and ### Coding -pfinet server overriding by modifying glibc. The patch is [here](http://www.assembla.com/spaces/VNetHurd/documents/aJidqKp6ur3z-Nab7jnrAJ/download/A%20patch%20of%20glibc). +pfinet server overriding by modifying glibc. The patch of glibc is [here](http://www.assembla.com/spaces/VNetHurd/documents/aJidqKp6ur3z-Nab7jnrAJ/download/A%20patch%20of%20glibc). fix pfinet to use the proper filter rule. The patch of pfinet is [here](http://www.assembla.com/spaces/VNetHurd/documents/dqoQg0qUer3Asvab7jnrAJ/download/A%20patch%20of%20pfinet). +add an option to open the virtual network interface. The patch of boot is [here](http://www.assembla.com/spaces/VNetHurd/documents/cWkeEixHar3AdKab7jnrAJ/download/A%20patch%20of%20boot). + +set the network device into the promiscuous mode. The patch of gnumach is [here](http://www.assembla.com/spaces/VNetHurd/documents/b0eLzUxHmr3ymXab7jnrAJ/download/A%20patch%20of%20gnumach). + the multiplexer: - Create multiple virtual network interfaces. -- cgit v1.2.3 From b96ecab9b8b793a06878f6a2b79f844478b5bbf6 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Wed, 30 Jul 2008 21:44:04 +0000 Subject: web commit by flaviocruz: Remove file_exec task. --- community/flavioc.mdwn | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'community') diff --git a/community/flavioc.mdwn b/community/flavioc.mdwn index 89d20950..0b6f999a 100644 --- a/community/flavioc.mdwn +++ b/community/flavioc.mdwn @@ -34,7 +34,7 @@ Creating an extensible translator library in lisp using the mig generated stubs. - /dev/zero translator. - translator that creates a symlink node. - tmpfs like translator. - - a translator that does proxying between clients and the underlying translator return all data in upper-case. + - a translator that does proxying between clients and the underlying translator returning all data in upper-case. - a translator that watches for changes in a file describing the file system structure. - Translator options (manipulated through fsysopts) have a simple and easy to use API. - All the Mach port manipulation API is available. @@ -61,8 +61,7 @@ Creating an extensible translator library in lisp using the mig generated stubs. ### What needs to be done -- Using continuations for IO blocking operations. This can be done using cl-cont. -- Fix file-exec, fsys-getroot (block happens in trivfs based translators, when they do RPC's to me when I call fsys_getroot to them) and fetch-root (for passive translators). +- Fix fsys-getroot (block happens in trivfs based translators, when they do RPC's to me when I call fsys_getroot to them) and fetch-root (for passive translators). - Use the socket stubs? - Documentation - More testing -- cgit v1.2.3 From 6322d08c711371b2c10e723011d528965bc2b75b Mon Sep 17 00:00:00 2001 From: Sergiu Ivanov Date: Thu, 7 Aug 2008 22:26:03 +0300 Subject: Update the roadmap and the progress. Remove hours. --- community/scolobb.mdwn | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) (limited to 'community') diff --git a/community/scolobb.mdwn b/community/scolobb.mdwn index e0fbd00d..c4c4cbda 100644 --- a/community/scolobb.mdwn +++ b/community/scolobb.mdwn @@ -32,17 +32,16 @@ The code is at . * The skeleton which mirrors the filesystem. -* Provided the looking up of files with special suffixes like 'file,,x' +####TODO: -* Implemented the propagation of a translator on all files belonging - to directory 'dir' in the case of the following query: 'dir,,x/' +* Provide shadow nodes (modify the standard version of netfs_S_dir_lookup). -* Any translator can access the untranslated version of the node it is - to be set upon by specifying the corresponding flags to the - *lib*_startup routine, where *lib* is the name of the library used - to create the translator. +* Create the generic filter translator. -####TODO: +* Create the translator '0' (providing the untranslated version of the + node). + +* Create the "recursive wrappers" for one-node translators. * Create special translators for the main proxy so that its functionality should be complete. @@ -52,35 +51,42 @@ The code is at . * Kill bugs. +* Integrate nsmux upstream. + +* Solve the libtrivfs stacking issue. + +* Patch libnetfs (it does not support file_get_translator_cntl, for + instance). + --- ###Progress -####6: Fri Jul 25, ~04:00 UTC - ? +####6: Sun Aug 3 - ?: -> Implementing a skeleton of the translator that should filter the translator stack it is set upon. +> Implement the shadow nodes. -####5: Thu Jul 24, ~17:00 UTC - Thu Jul 24, ~18:30 UTC: +####5: Thu Jul 24 - Thu Jul 24: > Created a *libnetfs*-based one-node translator, working exactly like the *libtrivfs*-based translator I had written before; the former, however, can be included in a translator stack. -####4: Tue Jul 22, ~15:00 UTC - Thu Jul 24, ~17:00 UTC: +####4: Tue Jul 22 - Thu Jul 24: > Attempted to make a *libtrivfs*-based translator to be able to be stacked upon itself (to be able to receive a translator on top of itself, more exactly); attempted to borrow some code from *libnetfs* but this didn't bring any results. -####3: Sun Jul 20, ~15:00 UTC - Tue Jul 22, ~15:00 UTC: +####3: Sun Jul 20 - Tue Jul 22: > Implemented the possibility to propagate a translator on all files belonging to a directory 'dir' in the request of the type 'dir,,x/'. -####2: Thu Jul 17, ~13:00 UTC - Fri Jul 18, ~21:00 UTC: +####2: Thu Jul 17 - Fri Jul 18: > Extended the lookup code in *nsmux* to allow for looking up nodes like 'file,,x' and added the possibility to escape the double-comma in the following way: ',,,'. -####1: Mon Jul 12, ~13:00 UTC - Tue Jul 13, ~15:00 UTC: +####1: Mon Jul 12 - Tue Jul 13: > Implemented a simple *libtrivfs*-based translator to test the lookup code for *nsmux*. -####0: Sat Jul 12, ~09:00 UTC - Sat Jul 12, ~18:00 UTC: +####0: Sat Jul 12 - Sat Jul 12: > Made small changes to the code of *filterfs* to fit the needs of *nsmux*. -- cgit v1.2.3 From c8d857198a2505a7e7be5feca2da017e1fd23841 Mon Sep 17 00:00:00 2001 From: "Madhusudan.C.S" Date: Fri, 8 Aug 2008 21:06:25 +0530 Subject: Updated the roadmap --- community/procfs.mdwn | 48 ++++++++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 20 deletions(-) (limited to 'community') diff --git a/community/procfs.mdwn b/community/procfs.mdwn index 472c66c9..b12f4078 100644 --- a/community/procfs.mdwn +++ b/community/procfs.mdwn @@ -210,6 +210,26 @@ Clone URL: [git://github.com/madhusudancs/procfs.git](git://github.com/madhusuda * cnswap > Cumulative nswap for child processes (not maintained). +* flags +> PF_* fields defined in (Not Linux compatible, but nearly says the something Linux says) + +#####File - /proc/<PID>/statm + +* size +> total program size + +* resident +> resident set size + +* lib +> library + +* dt +> dirty pages + +#####Other Per-PID Files + +#####* /proc/<PID>/cwd ####I already know the where the information is exactly available. @@ -220,15 +240,8 @@ Clone URL: [git://github.com/madhusudancs/procfs.git](git://github.com/madhusuda * cstime > The number of jiffies that this process’s waited-for children have been scheduled in kernel mode. -#####File - /proc/<PID>/statm - -* resident -> resident set size - #####Other Per-PID Files -#####* /proc/<PID>/cwd - #####* /proc/<PID>/exe #####* /proc/<PID>/environ @@ -266,9 +279,6 @@ Clone URL: [git://github.com/madhusudancs/procfs.git](git://github.com/madhusuda #####File - /proc/<PID>/statm -* size -> total program size - * text > text (code) @@ -333,19 +343,17 @@ Clone URL: [git://github.com/madhusudancs/procfs.git](git://github.com/madhusuda * delayacct_blkio_ticks > Aggregated block I/O delays, measured in clock ticks (centiseconds). -* flags -> PF_* fields defined in - -#### Need not be implemented. +###Newly added to Roadmap(but these were the original goals of the project) -#####File - /proc/<PID>/statm - -* lib -> library (not required) +#### procps tools need to be ported so that they run on top of the procfs -* dt -> dirty pages (not required) +> ##### pgrep - Done +> ##### pkill - Done +> ##### killall - Done +> ##### pstree - Done +> ##### top - In progress +> ##### free - Needs to be worked on ------ -- cgit v1.2.3 From d21fdecafe7f2339a2a67d1227ae493e919e2ae5 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Mon, 4 Aug 2008 05:30:48 +0000 Subject: web commit by scolobb --- community/scolobb.mdwn | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) (limited to 'community') diff --git a/community/scolobb.mdwn b/community/scolobb.mdwn index c4c4cbda..4563df39 100644 --- a/community/scolobb.mdwn +++ b/community/scolobb.mdwn @@ -34,15 +34,39 @@ The code is at . ####TODO: +<<<<<<< HEAD:community/scolobb.mdwn * Provide shadow nodes (modify the standard version of netfs_S_dir_lookup). +======= +* Implemented the propagation of a translator on all files belonging + to directory 'dir' in the case of the following query: 'dir,,x' + (might change, see the thing with "recursive wrappers") +>>>>>>> web commit by scolobb:community/scolobb.mdwn +<<<<<<< HEAD:community/scolobb.mdwn * Create the generic filter translator. +======= +* Any translator can access the untranslated version of the node it is + to be set upon by specifying the corresponding flags to the + _startup routine, where is the name of the library used + to create the translator. +>>>>>>> web commit by scolobb:community/scolobb.mdwn * Create the translator '0' (providing the untranslated version of the node). * Create the "recursive wrappers" for one-node translators. +* Provide proxy nodes. + +* Create the generic filtering translator. + +* Create the translator '0' (providing the untranslated version of the + node). + +* Integrate nsmux upstream (fearful :-( ). + +* Create the "recursive wrappers" for one-node translators. + * Create special translators for the main proxy so that its functionality should be complete. @@ -51,20 +75,35 @@ The code is at . * Kill bugs. +<<<<<<< HEAD:community/scolobb.mdwn * Integrate nsmux upstream. +======= +>>>>>>> web commit by scolobb:community/scolobb.mdwn * Solve the libtrivfs stacking issue. +<<<<<<< HEAD:community/scolobb.mdwn * Patch libnetfs (it does not support file_get_translator_cntl, for instance). +======= +* Patch libnetfs (?). +>>>>>>> web commit by scolobb:community/scolobb.mdwn --- ###Progress +<<<<<<< HEAD:community/scolobb.mdwn ####6: Sun Aug 3 - ?: +======= +####6: Mon Aug 4 - ? +>>>>>>> web commit by scolobb:community/scolobb.mdwn +<<<<<<< HEAD:community/scolobb.mdwn > Implement the shadow nodes. +======= +> Implemeting the proxy nodes. +>>>>>>> web commit by scolobb:community/scolobb.mdwn ####5: Thu Jul 24 - Thu Jul 24: @@ -106,4 +145,5 @@ The code is at . ####0: Sun Apr 27: -> Followed the code of *dmesgd* () kindly offered by **bddebian** and rewritten it from scratch as a tutorial. +> Followed the code of *dmesgd* () kindly offered by **bddebian** and rewrote it from scratch as a tutorial. + -- cgit v1.2.3 From 38470a88c749d21442c94601a048442cebe28201 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Mon, 4 Aug 2008 05:34:22 +0000 Subject: web commit by scolobb --- community/scolobb.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'community') diff --git a/community/scolobb.mdwn b/community/scolobb.mdwn index 4563df39..62670855 100644 --- a/community/scolobb.mdwn +++ b/community/scolobb.mdwn @@ -63,7 +63,7 @@ The code is at . * Create the translator '0' (providing the untranslated version of the node). -* Integrate nsmux upstream (fearful :-( ). +* Integrate nsmux upstream. * Create the "recursive wrappers" for one-node translators. -- cgit v1.2.3 From 9a8eb9092bdba168496cb0c5e3a3eb95194792ac Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Tue, 5 Aug 2008 22:28:44 +0000 Subject: web commit by flaviocruz: Mention done test cases. --- community/flavioc.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'community') diff --git a/community/flavioc.mdwn b/community/flavioc.mdwn index 0b6f999a..17845e11 100644 --- a/community/flavioc.mdwn +++ b/community/flavioc.mdwn @@ -57,6 +57,7 @@ Creating an extensible translator library in lisp using the mig generated stubs. - hurd - hurd-translator - tree-translator +- Test cases are now written. ### What needs to be done @@ -64,7 +65,6 @@ Creating an extensible translator library in lisp using the mig generated stubs. - Fix fsys-getroot (block happens in trivfs based translators, when they do RPC's to me when I call fsys_getroot to them) and fetch-root (for passive translators). - Use the socket stubs? - Documentation -- More testing - Integrate upstream - I think it's a better idea to create a separate module/project for the project than integrating it in the Hurd tree. - Another advantage is that savannah provides mercurial hosting. -- cgit v1.2.3 From 45aa49d8ed8207ff16c40eb1f672bea0bbf004ef Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Thu, 7 Aug 2008 15:34:27 +0000 Subject: web commit by scolobb --- community/scolobb.mdwn | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'community') diff --git a/community/scolobb.mdwn b/community/scolobb.mdwn index 62670855..6c959f1e 100644 --- a/community/scolobb.mdwn +++ b/community/scolobb.mdwn @@ -33,6 +33,7 @@ The code is at . * The skeleton which mirrors the filesystem. ####TODO: +<<<<<<< HEAD:community/scolobb.mdwn <<<<<<< HEAD:community/scolobb.mdwn * Provide shadow nodes (modify the standard version of netfs_S_dir_lookup). @@ -55,16 +56,16 @@ The code is at . node). * Create the "recursive wrappers" for one-node translators. +======= +>>>>>>> web commit by scolobb:community/scolobb.mdwn -* Provide proxy nodes. +* Provide proxy nodes (modify the standard version of netfs_S_dir_lookup). * Create the generic filtering translator. * Create the translator '0' (providing the untranslated version of the node). -* Integrate nsmux upstream. - * Create the "recursive wrappers" for one-node translators. * Create special translators for the main proxy so that its functionality @@ -76,18 +77,30 @@ The code is at . * Kill bugs. <<<<<<< HEAD:community/scolobb.mdwn +<<<<<<< HEAD:community/scolobb.mdwn +======= +>>>>>>> web commit by scolobb:community/scolobb.mdwn * Integrate nsmux upstream. +<<<<<<< HEAD:community/scolobb.mdwn +======= +>>>>>>> web commit by scolobb:community/scolobb.mdwn ======= >>>>>>> web commit by scolobb:community/scolobb.mdwn * Solve the libtrivfs stacking issue. <<<<<<< HEAD:community/scolobb.mdwn +<<<<<<< HEAD:community/scolobb.mdwn +======= +>>>>>>> web commit by scolobb:community/scolobb.mdwn * Patch libnetfs (it does not support file_get_translator_cntl, for instance). +<<<<<<< HEAD:community/scolobb.mdwn ======= * Patch libnetfs (?). >>>>>>> web commit by scolobb:community/scolobb.mdwn +======= +>>>>>>> web commit by scolobb:community/scolobb.mdwn --- @@ -99,11 +112,15 @@ The code is at . ####6: Mon Aug 4 - ? >>>>>>> web commit by scolobb:community/scolobb.mdwn +<<<<<<< HEAD:community/scolobb.mdwn <<<<<<< HEAD:community/scolobb.mdwn > Implement the shadow nodes. ======= > Implemeting the proxy nodes. >>>>>>> web commit by scolobb:community/scolobb.mdwn +======= +> Implementing the proxy nodes. +>>>>>>> web commit by scolobb:community/scolobb.mdwn ####5: Thu Jul 24 - Thu Jul 24: -- cgit v1.2.3 From 60774db7dfc241f52b12eae508f002c8a2312e38 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Thu, 7 Aug 2008 18:16:15 +0000 Subject: web commit by flaviocruz: Mention done integration --- community/flavioc.mdwn | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'community') diff --git a/community/flavioc.mdwn b/community/flavioc.mdwn index 17845e11..e5cb355e 100644 --- a/community/flavioc.mdwn +++ b/community/flavioc.mdwn @@ -65,9 +65,8 @@ Creating an extensible translator library in lisp using the mig generated stubs. - Fix fsys-getroot (block happens in trivfs based translators, when they do RPC's to me when I call fsys_getroot to them) and fetch-root (for passive translators). - Use the socket stubs? - Documentation -- Integrate upstream - - I think it's a better idea to create a separate module/project for the project than integrating it in the Hurd tree. - - Another advantage is that savannah provides mercurial hosting. +- Integrate upstream: + - Done, but still not commited. ### Project dependencies -- cgit v1.2.3 From 43411aa54ac445a7e8beb0f737acbfa96a28e5c3 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Wed, 13 Aug 2008 14:54:21 +0000 Subject: web commit by http://madhusudancs.myvidoop.com/ --- community/procfs.mdwn | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'community') diff --git a/community/procfs.mdwn b/community/procfs.mdwn index b12f4078..2dc88a2e 100644 --- a/community/procfs.mdwn +++ b/community/procfs.mdwn @@ -213,6 +213,9 @@ Clone URL: [git://github.com/madhusudancs/procfs.git](git://github.com/madhusuda * flags > PF_* fields defined in (Not Linux compatible, but nearly says the something Linux says) +* nice +> The nice value ranges from 19 to -19. + #####File - /proc/<PID>/statm * size @@ -259,9 +262,6 @@ Clone URL: [git://github.com/madhusudancs/procfs.git](git://github.com/madhusuda * cmajflt > The number of major faults that the process’s waited-for children have made. -* nice -> The nice value ranges from 19 to -19. - * signal > The bitmap of pending signals. @@ -352,8 +352,9 @@ Clone URL: [git://github.com/madhusudancs/procfs.git](git://github.com/madhusuda > ##### pkill - Done > ##### killall - Done > ##### pstree - Done -> ##### top - In progress -> ##### free - Needs to be worked on +> ##### top - Mostly Done (except per-PID shared memory field, and non per-PID caches and buffers field) +> ##### free - Mostly Done (Ditto from above) +> ##### htop - Mostly Done (Ditto again) ------ -- cgit v1.2.3 From af0c9a0d7efe4bb7f0504d2c25f9711953f79dd9 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Thu, 14 Aug 2008 09:15:28 +0000 Subject: web commit by flaviocruz: Mention IRC. --- community/flavioc.mdwn | 1 + 1 file changed, 1 insertion(+) (limited to 'community') diff --git a/community/flavioc.mdwn b/community/flavioc.mdwn index e5cb355e..de4741f8 100644 --- a/community/flavioc.mdwn +++ b/community/flavioc.mdwn @@ -36,6 +36,7 @@ Creating an extensible translator library in lisp using the mig generated stubs. - tmpfs like translator. - a translator that does proxying between clients and the underlying translator returning all data in upper-case. - a translator that watches for changes in a file describing the file system structure. + - an IRC translator. - Translator options (manipulated through fsysopts) have a simple and easy to use API. - All the Mach port manipulation API is available. - It's possible to send and receive messages. Simple example: -- cgit v1.2.3 From 13fb88fbe3be782af310536404bc265b90c7ad3d Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Thu, 14 Aug 2008 10:34:00 +0000 Subject: web commit by http://madhusudancs.myvidoop.com/ --- community/procfs.mdwn | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'community') diff --git a/community/procfs.mdwn b/community/procfs.mdwn index 2dc88a2e..19609065 100644 --- a/community/procfs.mdwn +++ b/community/procfs.mdwn @@ -355,6 +355,11 @@ Clone URL: [git://github.com/madhusudancs/procfs.git](git://github.com/madhusuda > ##### top - Mostly Done (except per-PID shared memory field, and non per-PID caches and buffers field) > ##### free - Mostly Done (Ditto from above) > ##### htop - Mostly Done (Ditto again) +> ##### watch - Done +> ##### tload - I think it is done. (Need someone to test it) +> ##### libgtop - In progress +> ##### gnome-system-moitor - In progress + ------ -- cgit v1.2.3 From 390f55b558886fba901a187c83ea31e3d7044128 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Thu, 14 Aug 2008 10:40:01 +0000 Subject: web commit by http://madhusudancs.myvidoop.com/ --- community/procfs.mdwn | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'community') diff --git a/community/procfs.mdwn b/community/procfs.mdwn index 19609065..90a663fb 100644 --- a/community/procfs.mdwn +++ b/community/procfs.mdwn @@ -216,6 +216,13 @@ Clone URL: [git://github.com/madhusudancs/procfs.git](git://github.com/madhusuda * nice > The nice value ranges from 19 to -19. +* cutime +> The number of jiffies that this process’s waited-for children have been scheduled in user +> mode. + +* cstime +> The number of jiffies that this process’s waited-for children have been scheduled in kernel mode. + #####File - /proc/<PID>/statm * size @@ -230,19 +237,8 @@ Clone URL: [git://github.com/madhusudancs/procfs.git](git://github.com/madhusuda * dt > dirty pages -#####Other Per-PID Files - -#####* /proc/<PID>/cwd - ####I already know the where the information is exactly available. -* cutime -> The number of jiffies that this process’s waited-for children have been scheduled in user -> mode. - -* cstime -> The number of jiffies that this process’s waited-for children have been scheduled in kernel mode. - #####Other Per-PID Files #####* /proc/<PID>/exe @@ -282,6 +278,10 @@ Clone URL: [git://github.com/madhusudancs/procfs.git](git://github.com/madhusuda * text > text (code) +#####Other Per-PID Files + +#####* /proc/<PID>/cwd + ####The information may be available, but needs to be searched to know where it will be. #####File - /proc/<PID>/stat -- cgit v1.2.3 From 0dcb9e9cd44df3ee39b32d5ce1816ca7bb6a9630 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Thu, 14 Aug 2008 10:48:56 +0000 Subject: web commit by http://madhusudancs.myvidoop.com/ --- community/procfs.mdwn | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'community') diff --git a/community/procfs.mdwn b/community/procfs.mdwn index 90a663fb..1139c718 100644 --- a/community/procfs.mdwn +++ b/community/procfs.mdwn @@ -348,17 +348,17 @@ Clone URL: [git://github.com/madhusudancs/procfs.git](git://github.com/madhusuda #### procps tools need to be ported so that they run on top of the procfs -> ##### pgrep - Done -> ##### pkill - Done -> ##### killall - Done -> ##### pstree - Done -> ##### top - Mostly Done (except per-PID shared memory field, and non per-PID caches and buffers field) -> ##### free - Mostly Done (Ditto from above) -> ##### htop - Mostly Done (Ditto again) -> ##### watch - Done -> ##### tload - I think it is done. (Need someone to test it) -> ##### libgtop - In progress -> ##### gnome-system-moitor - In progress +> ##### pgrep                 -  Done +> ##### pkill                 -  Done +> ##### killall               -  Done +> ##### pstree                -  Done +> ##### top                   -  Mostly Done (except per-PID shared memory field, and non per-PID caches and buffers field) +> ##### free                  -  Mostly Done (Ditto from above) +> ##### htop                  -  Mostly Done (Ditto again) +> ##### watch                 -  Done +> ##### tload                 -  I think it is done. (Need someone to test it) +> ##### libgtop               -  In progress +> ##### gnome-system-moitor   -  In progress -- cgit v1.2.3 From c1c0a2ae49c8213ec8c6b23b44b9c385733a832c Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Mon, 18 Aug 2008 07:16:58 +0000 Subject: web commit by zhengda --- community/da.mdwn | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) (limited to 'community') diff --git a/community/da.mdwn b/community/da.mdwn index 0fef37e0..0a53d129 100644 --- a/community/da.mdwn +++ b/community/da.mdwn @@ -49,12 +49,8 @@ A filter translator is needed to enforce the policies between the interface and ## TODO ### Coding - - give more options in the filter translator to provide the range of IP addresses - - writing the /dev/eth0 translator - - a proxy of the proc server - make subhurds running without root privileges - merge BPF rules from the filter translator and the multiplexer - - add the policy control. for example, a suer's pfinet has to connect to the filter translator instead of to the interface directly. --- @@ -62,13 +58,17 @@ A filter translator is needed to enforce the policies between the interface and ### Coding -pfinet server overriding by modifying glibc. The patch of glibc is [here](http://www.assembla.com/spaces/VNetHurd/documents/aJidqKp6ur3z-Nab7jnrAJ/download/A%20patch%20of%20glibc). +The patch of glibc (pfinet server overriding) is [here](http://www.assembla.com/spaces/VNetHurd/documents/aJidqKp6ur3z-Nab7jnrAJ/download/A%20patch%20of%20glibc). -fix pfinet to use the proper filter rule. The patch of pfinet is [here](http://www.assembla.com/spaces/VNetHurd/documents/dqoQg0qUer3Asvab7jnrAJ/download/A%20patch%20of%20pfinet). +The patch of pfinet (open the virtual network interface) is [here](http://www.assembla.com/spaces/VNetHurd/documents/aWqYwYATKr3BBOab7jnrAJ/download/patch%20of%20pfinet%201%20(to%20use%20the%20virtual%20interface)). -add an option to open the virtual network interface. The patch of boot is [here](http://www.assembla.com/spaces/VNetHurd/documents/cWkeEixHar3AdKab7jnrAJ/download/A%20patch%20of%20boot). +The patch of pfinet (fix pfinet to use the proper filter rule) is [here](http://www.assembla.com/spaces/VNetHurd/documents/besb-qATKr3AIxab7jnrAJ/download/patch%20of%20pfinet%202%20(to%20add%20an%20IP%20filter)). -set the network device into the promiscuous mode. The patch of gnumach is [here](http://www.assembla.com/spaces/VNetHurd/documents/b0eLzUxHmr3ymXab7jnrAJ/download/A%20patch%20of%20gnumach). +The patch of pfinet (set the mach device in the promiscuous mode) is [here](http://www.assembla.com/spaces/VNetHurd/documents/bEovN6ATKr3B8uab7jnrAJ/download/patch%20of%20pfinet%203%20(to%20set%20the%20mach%20device%20into%20the%20promiscuous%20mode)). + +The patch of boot (open the virtual network interface) is [here](http://www.assembla.com/spaces/VNetHurd/documents/cWkeEixHar3AdKab7jnrAJ/download/A%20patch%20of%20boot). + +The patch of gnumach (set the network device into the promiscuous mode) is [here](http://www.assembla.com/spaces/VNetHurd/documents/b0eLzUxHmr3ymXab7jnrAJ/download/A%20patch%20of%20gnumach). the multiplexer: @@ -81,6 +81,16 @@ the filter translator: - Forward the packet between the interface and the pfinet server. - Filter the packet. +the proxy of the proc server: + +- Forward all requests from the process to its proc server. +- The proxy doesn't do any real work except returning the host private port and the master device port of the proxy (shown as an example). + +the devnode translator: + +- Create a device file to help open the network device. + + ### The Code Read - boot -- cgit v1.2.3 From bff691f4521fd5867cf29fb2ed926df8d9066926 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Fri, 29 Aug 2008 13:25:30 +0000 Subject: web commit by zhengda --- community/da.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'community') diff --git a/community/da.mdwn b/community/da.mdwn index 0a53d129..e15aade1 100644 --- a/community/da.mdwn +++ b/community/da.mdwn @@ -6,6 +6,8 @@ Project: Network virtualization for subhurds etc. The [code](http://www.assembla.com/spaces/VNetHurd/trac_subversion_tool). +The [[howto]] shows the instructions of setting up the virtual network in hurd and subhurd. + --- ## The design and the implementation -- cgit v1.2.3 From 274828910a1cecec125f3ec37e180545328ace2c Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Fri, 29 Aug 2008 13:46:48 +0000 Subject: web commit by zhengda --- community/da.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'community') diff --git a/community/da.mdwn b/community/da.mdwn index e15aade1..053d042e 100644 --- a/community/da.mdwn +++ b/community/da.mdwn @@ -6,7 +6,7 @@ Project: Network virtualization for subhurds etc. The [code](http://www.assembla.com/spaces/VNetHurd/trac_subversion_tool). -The [[howto]] shows the instructions of setting up the virtual network in hurd and subhurd. +The [[howto of virtual network]] shows the instructions of setting up the virtual network in hurd and subhurd. --- -- cgit v1.2.3 From ab911a5602aa1b21c7bef6a13cbfd35e5d4c52fc Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Fri, 29 Aug 2008 14:21:17 +0000 Subject: web commit by zhengda --- community/da.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'community') diff --git a/community/da.mdwn b/community/da.mdwn index 053d042e..e15aade1 100644 --- a/community/da.mdwn +++ b/community/da.mdwn @@ -6,7 +6,7 @@ Project: Network virtualization for subhurds etc. The [code](http://www.assembla.com/spaces/VNetHurd/trac_subversion_tool). -The [[howto of virtual network]] shows the instructions of setting up the virtual network in hurd and subhurd. +The [[howto]] shows the instructions of setting up the virtual network in hurd and subhurd. --- -- cgit v1.2.3 From 95b6ca606f766e8c46151c3468cf4e28cb7d74ab Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Fri, 29 Aug 2008 18:47:14 +0000 Subject: web commit by zhengda --- community/howto.mdwn | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 community/howto.mdwn (limited to 'community') diff --git a/community/howto.mdwn b/community/howto.mdwn new file mode 100644 index 00000000..36b4bd01 --- /dev/null +++ b/community/howto.mdwn @@ -0,0 +1,83 @@ +[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] + +[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU_Free_Documentation_License|/fdl]]."]]"""]] + + +This document briefly introduces how to set up the virtual network and connect the subhurd with the main hurd. + + +1. Set up the virtual network. + +1.1 Patch and install GNU Hurd, GNU Mach and the GNU C library. + +Step 1: Get the Hurd and compile it. + + cvs -z3 -d:ext:username@cvs.savannah.gnu.org:/sources/hurd co -r zhengda-soc2008-virt-branch + + +Step 2: apply the [patch](http://www.assembla.com/spaces/VNetHurd/documents/b0eLzUxHmr3ymXab7jnrAJ/download/A%20patch%20of%20gnumach) on the GNU Mach. +In order to connect the virtual network created in hurd with the external network, we need this patch. It enables the Hurd to set the Mach device into the promiscuous mode, so the real device can accept the packet that goes to the virtual device in hurd. + +This step is optional if we are only interested in creating a internal virtual network. + +Step 3: apply the [patch](http://www.assembla.com/spaces/VNetHurd/documents/aJidqKp6ur3z-Nab7jnrAJ/download/A%20patch%20of%20glibc) on glibc. +This patch enables the user to override the default socket server by using the environment variables SOCK_SERV_DIR or SOCK_SERV_%d (%d is the domain of the socket server). + + +1.2 Set up the Hurd components to build the virtual network. + +In this section, I show how to create two virtual interfaces and run three pfinet servers. I assume that the source code of Hurd is in /root/hurd. + +Step 4: create the network device file in /dev with devnode. +The network device file is used to help other translators open the device. + # settrans -acfg /dev/eth0 /root/hurd/devnode/devnode -d eth0 + +Step 5: create the virtual network device with eth-multiplexer. +eth-multiplexer is responsible to create the virtual network device and dispatch the packet to the right clients that connect to the virtual device. It also connects the virtual network and the external network. + # settrans -acfg /root/multiplexer /root/hurd/eth-multiplexer/eth-multiplexer -v 2 -i /dev/eth0 + +Step 6: create the network device files for the virtual network device with devnode. + # settrans -acfg /dev/veth0 /root/hurd/devnode/devnode -d veth0 -M /root/multiplexer + # settrans -acfg /dev/veth1 /root/hurd/devnode/devnode -d veth1 -M /root/multiplexer + +Step 7: setup the filter translator eth-filter on the network device. This step is optional. +eth-filter is used to set up the traffic policy on the network device. + # settrans -acfg /dev/fveth0 /root/hurd/eth-filter/eth-filter -i /dev/veth0 -S 192.168.8.0/24 -R 192.168.8.0/24 + # settrans -acfg /dev/fveth1 /root/hurd/eth-filter/eth-filter -i /dev/veth1 -S 192.168.8.0/24 -R 192.168.8.0/24 + +Step 8: setup the pfinet server on the virtual network device. + # settrans -afgc /root/socket0/2 /root/hurd/pfinet/pfinet -i /dev/fveth0 -a 192.168.8.10 -g 192.168.8.1 -m 255.255.255.0 + # settrans -afgc /root/socket1/2 /root/hurd/pfinet/pfinet -i /dev/fveth1 -a 192.168.8.11 -g 192.168.8.1 -m 255.255.255.0 + # settrans -afgc /root/socket2/2 /root/hurd/pfinet/pfinet -i /dev/fveth1 -a 192.168.8.12 -g 192.168.8.1 -m 255.255.255.0 + + +1.3 Run the command with the customized pfinet server. + +Step 9: Set environment variables to use the customized pfinet server. +The environment variable of SOCK_SERV_DIR is used to override all socket servers and SOCK_SERV_%d to override a specific socket server. %d after SOCK_SERV_ is the domain of the protocol that the socket server supports. The environment variable SOCK_SERV_%d has the higher priority than SOCK_SERV_DIR. + # export SOCK_SERV_2=/root/socket1/2 +If the modified glibc isn't installed as the system glibc, set LD_LIBRARY_PATH environment. + # export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/the/path/of/glibc +We can run any command now, for example, ping. + +A SHELL script is provided to run all translators I mentioned automatically: http://www.assembla.com/spaces/VNetHurd/documents/c2W71ABser3AIxab7jnrAJ/download/runmultiplexer. To use this script, the user must specify the source of the hurd tree (the default value is /root/hurd) and the path of the servers (the default value is /root) where they should be created. This script is only used to test all translators I mentioned above and shows all steps to set up the virtual network. + + +2. Connect the subhurd with the main hurd. + +In the main hurd, we still need to do Step 1-9. +We run subhurd, + + # /root/hurd/boot/boot -f eth0=/dev/fveth0 -f eth1=/dev/fveth1 servers.boot /dev/hd1s1 + +In the subhurd, we do Step 1, 4, 8. +Step 4: # settrans -acfg /dev/veth0 /root/hurd/devnode/devnode -d veth0 +Step 8: # settrans -afgc /servers/socket/2 /root/hurd/pfinet/pfinet -i /dev/veth0 -a 192.168.8.20 -g 192.168.8.1 -m 255.255.255.0 + +Now we can communicate from the subhurd with any pfinet server of the main Hurd that runs in the virtual network. -- cgit v1.2.3 From ab10aeaa7dac19b1f0a449d307c698ec3bd51dd0 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Fri, 29 Aug 2008 18:53:31 +0000 Subject: web commit by zhengda --- community/howto.mdwn | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'community') diff --git a/community/howto.mdwn b/community/howto.mdwn index 36b4bd01..6bc31959 100644 --- a/community/howto.mdwn +++ b/community/howto.mdwn @@ -18,7 +18,7 @@ This document briefly introduces how to set up the virtual network and connect t Step 1: Get the Hurd and compile it. - cvs -z3 -d:ext:username@cvs.savannah.gnu.org:/sources/hurd co -r zhengda-soc2008-virt-branch + # cvs -z3 -d:ext:username@cvs.savannah.gnu.org:/sources/hurd co -r zhengda-soc2008-virt-branch Step 2: apply the [patch](http://www.assembla.com/spaces/VNetHurd/documents/b0eLzUxHmr3ymXab7jnrAJ/download/A%20patch%20of%20gnumach) on the GNU Mach. @@ -36,22 +36,27 @@ In this section, I show how to create two virtual interfaces and run three pfine Step 4: create the network device file in /dev with devnode. The network device file is used to help other translators open the device. + # settrans -acfg /dev/eth0 /root/hurd/devnode/devnode -d eth0 Step 5: create the virtual network device with eth-multiplexer. eth-multiplexer is responsible to create the virtual network device and dispatch the packet to the right clients that connect to the virtual device. It also connects the virtual network and the external network. + # settrans -acfg /root/multiplexer /root/hurd/eth-multiplexer/eth-multiplexer -v 2 -i /dev/eth0 Step 6: create the network device files for the virtual network device with devnode. + # settrans -acfg /dev/veth0 /root/hurd/devnode/devnode -d veth0 -M /root/multiplexer # settrans -acfg /dev/veth1 /root/hurd/devnode/devnode -d veth1 -M /root/multiplexer Step 7: setup the filter translator eth-filter on the network device. This step is optional. eth-filter is used to set up the traffic policy on the network device. + # settrans -acfg /dev/fveth0 /root/hurd/eth-filter/eth-filter -i /dev/veth0 -S 192.168.8.0/24 -R 192.168.8.0/24 # settrans -acfg /dev/fveth1 /root/hurd/eth-filter/eth-filter -i /dev/veth1 -S 192.168.8.0/24 -R 192.168.8.0/24 Step 8: setup the pfinet server on the virtual network device. + # settrans -afgc /root/socket0/2 /root/hurd/pfinet/pfinet -i /dev/fveth0 -a 192.168.8.10 -g 192.168.8.1 -m 255.255.255.0 # settrans -afgc /root/socket1/2 /root/hurd/pfinet/pfinet -i /dev/fveth1 -a 192.168.8.11 -g 192.168.8.1 -m 255.255.255.0 # settrans -afgc /root/socket2/2 /root/hurd/pfinet/pfinet -i /dev/fveth1 -a 192.168.8.12 -g 192.168.8.1 -m 255.255.255.0 @@ -61,9 +66,13 @@ Step 8: setup the pfinet server on the virtual network device. Step 9: Set environment variables to use the customized pfinet server. The environment variable of SOCK_SERV_DIR is used to override all socket servers and SOCK_SERV_%d to override a specific socket server. %d after SOCK_SERV_ is the domain of the protocol that the socket server supports. The environment variable SOCK_SERV_%d has the higher priority than SOCK_SERV_DIR. + # export SOCK_SERV_2=/root/socket1/2 + If the modified glibc isn't installed as the system glibc, set LD_LIBRARY_PATH environment. + # export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/the/path/of/glibc + We can run any command now, for example, ping. A SHELL script is provided to run all translators I mentioned automatically: http://www.assembla.com/spaces/VNetHurd/documents/c2W71ABser3AIxab7jnrAJ/download/runmultiplexer. To use this script, the user must specify the source of the hurd tree (the default value is /root/hurd) and the path of the servers (the default value is /root) where they should be created. This script is only used to test all translators I mentioned above and shows all steps to set up the virtual network. -- cgit v1.2.3 From 97414a27d9d8ec63d0301dee7dd7e6448a89d911 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Fri, 29 Aug 2008 19:00:14 +0000 Subject: web commit by zhengda --- community/howto.mdwn | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'community') diff --git a/community/howto.mdwn b/community/howto.mdwn index 6bc31959..0270a2d2 100644 --- a/community/howto.mdwn +++ b/community/howto.mdwn @@ -18,15 +18,16 @@ This document briefly introduces how to set up the virtual network and connect t Step 1: Get the Hurd and compile it. - # cvs -z3 -d:ext:username@cvs.savannah.gnu.org:/sources/hurd co -r zhengda-soc2008-virt-branch + cvs -z3 -d:ext:username@cvs.savannah.gnu.org:/sources/hurd co -r zhengda-soc2008-virt-branch Step 2: apply the [patch](http://www.assembla.com/spaces/VNetHurd/documents/b0eLzUxHmr3ymXab7jnrAJ/download/A%20patch%20of%20gnumach) on the GNU Mach. -In order to connect the virtual network created in hurd with the external network, we need this patch. It enables the Hurd to set the Mach device into the promiscuous mode, so the real device can accept the packet that goes to the virtual device in hurd. -This step is optional if we are only interested in creating a internal virtual network. +In order to connect the virtual network created in hurd with the external network, we need this patch. It enables the Hurd to set the Mach device into the promiscuous mode, so the real device can accept the packet that goes to the virtual device in hurd. +(This step is optional if we are only interested in creating a internal virtual network.) Step 3: apply the [patch](http://www.assembla.com/spaces/VNetHurd/documents/aJidqKp6ur3z-Nab7jnrAJ/download/A%20patch%20of%20glibc) on glibc. + This patch enables the user to override the default socket server by using the environment variables SOCK_SERV_DIR or SOCK_SERV_%d (%d is the domain of the socket server). @@ -40,6 +41,7 @@ The network device file is used to help other translators open the device. # settrans -acfg /dev/eth0 /root/hurd/devnode/devnode -d eth0 Step 5: create the virtual network device with eth-multiplexer. + eth-multiplexer is responsible to create the virtual network device and dispatch the packet to the right clients that connect to the virtual device. It also connects the virtual network and the external network. # settrans -acfg /root/multiplexer /root/hurd/eth-multiplexer/eth-multiplexer -v 2 -i /dev/eth0 @@ -65,11 +67,12 @@ Step 8: setup the pfinet server on the virtual network device. 1.3 Run the command with the customized pfinet server. Step 9: Set environment variables to use the customized pfinet server. + The environment variable of SOCK_SERV_DIR is used to override all socket servers and SOCK_SERV_%d to override a specific socket server. %d after SOCK_SERV_ is the domain of the protocol that the socket server supports. The environment variable SOCK_SERV_%d has the higher priority than SOCK_SERV_DIR. # export SOCK_SERV_2=/root/socket1/2 -If the modified glibc isn't installed as the system glibc, set LD_LIBRARY_PATH environment. +If the modified glibc isn't installed as the system default C library, set LD_LIBRARY_PATH environment. # export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/the/path/of/glibc -- cgit v1.2.3 From 428db7b30d19eca102bdb463000436f8078334ab Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Fri, 29 Aug 2008 19:03:14 +0000 Subject: web commit by zhengda --- community/howto.mdwn | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'community') diff --git a/community/howto.mdwn b/community/howto.mdwn index 0270a2d2..e067f77e 100644 --- a/community/howto.mdwn +++ b/community/howto.mdwn @@ -12,9 +12,9 @@ is included in the section entitled This document briefly introduces how to set up the virtual network and connect the subhurd with the main hurd. -1. Set up the virtual network. +### 1. Set up the virtual network. -1.1 Patch and install GNU Hurd, GNU Mach and the GNU C library. +####1.1 Patch and install GNU Hurd, GNU Mach and the GNU C library. Step 1: Get the Hurd and compile it. @@ -31,7 +31,7 @@ Step 3: apply the [patch](http://www.assembla.com/spaces/VNetHurd/documents/aJid This patch enables the user to override the default socket server by using the environment variables SOCK_SERV_DIR or SOCK_SERV_%d (%d is the domain of the socket server). -1.2 Set up the Hurd components to build the virtual network. +#### 1.2 Set up the Hurd components to build the virtual network. In this section, I show how to create two virtual interfaces and run three pfinet servers. I assume that the source code of Hurd is in /root/hurd. @@ -64,7 +64,7 @@ Step 8: setup the pfinet server on the virtual network device. # settrans -afgc /root/socket2/2 /root/hurd/pfinet/pfinet -i /dev/fveth1 -a 192.168.8.12 -g 192.168.8.1 -m 255.255.255.0 -1.3 Run the command with the customized pfinet server. +#### 1.3 Run the command with the customized pfinet server. Step 9: Set environment variables to use the customized pfinet server. @@ -81,7 +81,7 @@ We can run any command now, for example, ping. A SHELL script is provided to run all translators I mentioned automatically: http://www.assembla.com/spaces/VNetHurd/documents/c2W71ABser3AIxab7jnrAJ/download/runmultiplexer. To use this script, the user must specify the source of the hurd tree (the default value is /root/hurd) and the path of the servers (the default value is /root) where they should be created. This script is only used to test all translators I mentioned above and shows all steps to set up the virtual network. -2. Connect the subhurd with the main hurd. +### 2. Connect the subhurd with the main hurd. In the main hurd, we still need to do Step 1-9. We run subhurd, -- cgit v1.2.3