summaryrefslogtreecommitdiff
path: root/community
diff options
context:
space:
mode:
authorGNU Hurd wiki engine <web-hurd@gnu.org>2008-06-13 21:31:15 +0000
committerGNU Hurd wiki engine <web-hurd@gnu.org>2008-06-13 21:31:15 +0000
commitf1d8d25246fae947a07a768ad89768f81ed02d10 (patch)
tree1155a0750b4915c44814f9c1df62d069921db519 /community
parent464f3345e6f416558ac954205145d998ec2e773c (diff)
web commit by zhengda
Diffstat (limited to 'community')
-rw-r--r--community/da.mdwn20
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
+
---