e,
r
by
Well, its not an explicit transaction model, but I guess you could think
of it that way.
Generally you set the device up before you launch the guest. By the
time the guest loads and tries to scan the bus for the initial
discovery, all the devices would be ready to go.
This does bring up the question of hotswap. Today we fully support
hotswap in and out, but leaving this "enabled" transaction to the
individual device means that the device-id would be visible in the bus
namespace before the device may want to actually communicate. Hmmm
Perhaps I need to build this in as a more explicit "enabled"
feature...and the guest will not see the driver::probe() until this happe=
ns.
e
e
E.g.
Well, its kind of out of my control. venet-tap ultimately creates a
simple netif interface which we must do something with. Once its
created, "wiring" it up to something like a linux-bridge is no different
than something like a tun-tap, so the qemu-ifup requirement doesn't chang=
e.
The one thing I can think of is it would be possible to build a
"venet-switch" module, and this could be done without using brctl or
qemu-ifup...but then I would lose all the benefits of re-using that
infrastructure. I do not recommend we actually do this, but it would
technically be a way to address your concern.
Heh..why do you think I keep procrastinating ;)
e
ne
ce
=2E
Oh yeah, totally agreed. Not that I am advocating this, because I have
abandoned the idea. But back when I was thinking of this, I would have
addressed the security with the vbus and syscall-proxy-device objects
themselves. E.g. if you dont instantiate a syscall-proxy-device on the
bus, the guest wouldnt have access to syscalls at all. And you could
put filters into the module to limit what syscalls were allowed, which
UID to make the guest appear as, etc.
e
:)
-Greg