From: James R. L. <jl...@mi...> - 2000-04-29 19:56:32
|
Jeff, I have a bare bones ethernet interface working in UML. It uses an external process (uml-net) to handle the connection between multiple uml's. Current it only support one broacast domain. I plan on fixing that today. I did want to raise one question: In the native kernels a drive does a request_irq() and registers a interrupt call back. When an interrupt is received it is processes and then set to do_IRQ() for furture dispatching. I notice that you have a request_irq() implementation but I couldn't find a do_IRQ() or equivalent. Do you have equivalent or do you by pass the interrupt scheme completly? I've attached the diff (vs pre5, but it works on the new pre6 as well) and the code for the (very) simple net program. (please remember that this is the result of only a few hours of programming and is more of a proof of concept then anything else) Here is how to use it: ---------------------------------------------------- Apply the patch: cd linux-kernel-uml-pre6 patch -p1 < ../uml.diff Re-compile the uml kernel: make linux Compile the net program: gcc -o uml-net uml-net.c Start up two uml's: cd ../uml-1 ../linux-kernel-uml-pre6/linux devfs=mount (in another window) cd ../uml-2 ../linux-kernel-uml-pre6/linux devfs=mount Start the net process: ./uml-net Bring up the uml intefaces: (in uml-1) ifconfig eth0 down ifconfig eth0 hw ether 0:0:10:0:0:1 ifconfig eth0 10.0.0.1 up (in uml-2) fconfig eth0 down ifconfig eth0 hw ether 0:0:10:0:0:2 ifconfig eth0 10.0.0.2 up Test the uml network connection: (in uml-1) ping 10.0.0.2 (in uml-2) ping 10.0.0.1 -- James R. Leu |