diff options
author | GNU Hurd wiki engine <web-hurd@gnu.org> | 2008-06-13 21:31:15 +0000 |
---|---|---|
committer | GNU Hurd wiki engine <web-hurd@gnu.org> | 2008-06-13 21:31:15 +0000 |
commit | f1d8d25246fae947a07a768ad89768f81ed02d10 (patch) | |
tree | 1155a0750b4915c44814f9c1df62d069921db519 | |
parent | 464f3345e6f416558ac954205145d998ec2e773c (diff) |
web commit by zhengda
-rw-r--r-- | community/da.mdwn | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/community/da.mdwn b/community/da.mdwn index 82df8569..7715f094 100644 --- a/community/da.mdwn +++ b/community/da.mdwn @@ -11,27 +11,29 @@ The [code](http://www.assembla.com/spaces/VNetHurd/trac_subversion_tool). ## The design and implementation of hypervisor ### The requirements: -to implement a mechanism which help pfinet servers communicate with each other. For example, if pfinet 1 has IP A and pfinet 2 has IP B, the packet sent by pfinet 1 with destination address IP B should be received by pfinet 2. -Sub-hurd should be able to use this mechanism to communicate with each other. -Meanwhile this mechanism should allow non-privileged the user to start his own pfinet. +* to implement a mechanism which help pfinet servers communicate with each other. For example, if pfinet 1 has IP A and pfinet 2 has IP B, the packet sent by pfinet 1 with destination address IP B should be received by pfinet 2. +* Sub-hurd should be able to use this mechanism to communicate with each other. +* Meanwhile this mechanism should allow non-privileged the user to start his own pfinet. ### The possible approach is to create a hypervisor whose roles are: - 1. to create some virtual network interface, so pfinet can send packets to it. - 2. to receive the packet from pfinet, and forward the packet to other pfinets in hurd - 3. or forward the packet to the real network device in the kernel and send it to the network. - 4. to guard the network traffic and filter illegal packets (forged by some malicious users) from pfinet or some other programs. +1. to create some virtual network interface, so pfinet can send packets to it. +2. to receive the packet from pfinet, and forward the packet to other pfinets in hurd +3. or forward the packet to the real network device in the kernel and send it to the network. +4. to guard the network traffic and filter illegal packets (forged by some malicious users) from pfinet or some other programs. ### To create a virtual network interface: Implement the RPC interface defined in device.defs just as "boot" does. -Publish the port, so other programs can get the port and open the virtual device by calling device_open(). The hypervisor now works as a translator and other programs can get the port by calling file_name_port(). +Publish the port, so other programs can get the port and open the virtual device by calling device_open(). +The hypervisor now works as a translator and other programs can get the port by calling file_name_port(). (to be continued) --- -The schedule +## The schedule + --- |