I was able to compile my driver using user space library libc.a. But when I run the Linux executable, it runs this driver very early in the bootup process such that I have not setup the ethernet eth0 interface.
So the output looks like:
HelloTCP Start
Not able to connect to remote client...

Then...I see the config on the eth0.

So I wanted to compile the driver as a loadable module but now I have problems compiling due to errors of the users space socket system calls like "socket", "connect", "setsockopt", as undefined. How could I do it?


On Fri, May 16, 2008 at 2:02 PM, Jeff Dike <jdike@addtoit.com> wrote:
On Fri, May 16, 2008 at 11:35:20AM -0700, David Francisco Rodriguez Perez wrote:
> I am working on a simulator of a product and so far we have decided to go
> with UML. I have so far 2 questions.
> 1. There is a network namespace patch that is coming into the mainline in
> 2.6.26. Is this patch going to be supported in UML?

If it's in mainline, it's in UML (for the most part - some things
require arch support, but I don't the the namespace stuff is among them).

> 2. The following question is maybe a no-brainer. We have a a user space
> program using the socket library to connect to a server outside the UML
> entity. We would like to change that to a kernel driver in UML. Can we
> create a module for UML that uses a user space library like the socket
> library? I would assume not, but just to confirm.

You can.  That's how UML drivers generally work.  See pcap and vde for
a couple of drivers that pull in libraries.


Work email - jdike at linux dot intel dot com