diff options
Diffstat (limited to 'proc_proxy/README')
-rw-r--r-- | proc_proxy/README | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/proc_proxy/README b/proc_proxy/README new file mode 100644 index 00000000..83e11691 --- /dev/null +++ b/proc_proxy/README @@ -0,0 +1,26 @@ +[Introduction] + +proc_proxy is a proxy for the proc server. It intercepts the PROCESS requests that should be sent from a user to his proc server, so it provides a possibility for us to tamper the reply or even create the reply at our will. + +The current implementation of proc_proxy is able to help the pfinet translator open the virtual interface created by eth-multiplexer. + + +[Usage] + +Usage: proc_proxy [OPTION...] command line +Hurd proc proxy + + -M, --master-device=FILE Get the pseudo master device from a translator + -?, --help Give this help list + --usage Give a short usage message + +Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options. + + +[Internal] + +proc_proxy implements the server-side functions in process.defs. In the beginning, proc_proxy forks a new process, set its child's process server to itself, and run the command in the child process. Therefore, proc_proxy can get all PROCESS reqeusts from its child. + +proc_proxy works in the same way as the proc server to distinguish different processes with their ports. proc_proxy creates a port for each process. When a request comes, reqport_find() is called on the port to find the corresponding process. The port created for a new task is in server-side proc_task2proc. When a proc_task2proc request for a new task comes, a new port is created for the task and the send right of the port is returned. + +In order to help pfinet open the virtual interface created by eth-multiplexer, proc_proxy returns the port to eth-multiplexer as a master device port to pfinet. |