[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Is there example code and/or documentation for developing a Xen back-end/front-end driver pair?

Ewan Mellor wrote:

Attached are some notes of mine. They are quite old, but I think it all is
pretty much relevant.

Basically, a backend watches /local/domain/0/backend/<deviceClass> and a frontend watches /local/domain/<domID>/device/<deviceClass>. When the tools write into those directories in the store, the drivers get a watch fired, and check those directories to see the new device details. The new internal state
is created based on that.

If you are using the normal Xenbus code, then you can register your device
driver with the Xenbus layer, and much of this is done for you.

The drivers themselves use a simple state machine to handshake between front
and backends.

The backends use hotplug / udev events inside domain 0 to trigger scripts for
simple bringup/teardown stuff, like attaching new vifs to bridges or
whatever. The tools watch for a specific node to be written in the store to indicate that this hotplug phase has succeeded (it's usually the one that does
the final sanity checking and often has to bail out).


IHI {It Helps Indeed!} Thanks. Could I encourage you to post those on the XenSource Wiki?

-- Randy

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.