Updated README for the 0.2 release
Change-Id: Icf21d3ef664cccac59cda6f05d1f2ed4fb17f920
diff --git a/README b/README
index 0a8acb0..f273a9f 100644
--- a/README
+++ b/README
@@ -1,16 +1,99 @@
VLANd - complex networks on demand
+What is VLANd?
+==============
+
+VLANd is a simple (hah!) python program intended to make it easy to
+manage port-based VLAN setups across multiple switches in a
+network. It is designed to be vendor-agnostic, with a clean pluggable
+driver API to allow for a wide range of different switches to be
+controlled together.
+
+Various of the switch vendors have management applications available
+which should be able to do a similar job, but they're typically not
+scriptable, or locked to only control their own vendor's
+equipment. VLANd is designed (and hoped!) to be better. We've found
+that other network management programs also exist, but either they
+don't manage VLANs in the way we want or they depend on large
+frameworks like Openstack.
+
+For *now*, VLANd includes two drivers for different families of Cisco
+switches. That's not great as a cross-platform selling point, but
+they're all we have available at the moment. Initial work is underway
+to support some TP-Link switches too, using the same driver API, and
+it is expected that more drivers will be included in future
+releases. Please feel free to propose more target devices, or (better)
+send patches!
+
+Why VLANd?
+==========
+
+VLANd has been written to accompany Linaro's LAVA platform.
+
+LAVA is the Linaro Automated Validation Architecture - see
+https://validation.linaro.org/ for more information.
+
+LAVA started off as a framework to help perform validation and testing
+on simple single devices such as Android development boards. Since
+then, the range of tests and devices has grown hugely. Some users have
+added multi-node tests, i.e. tests that start up multiple devices that
+run tests against each other (e.g. client-server testing). The next
+step on from that is to test devices with multiple network interfaces,
+where on top of the client-serer testing it is required that their
+connectivity can be controlled and isolated (e.g. for network
+performance testing).
+
+This can be done by simply changing physical network connections, of
+course, but that doesn't scale for sequences of tests and it makes a
+lie of the "Automated" bit in the LAVA definition.
+
+VLANd is the solution that we have implemented for this problem. It
+provides a simple VLAN management abstraction for users. LAVA can use
+VLANd to set up complex networks on demand as tests are initiated, and
+can then tear them down again when tests are complete.
+
Dependencies
============
-postgres server and psycopg2, for the backend database. See
+postgres server and psycopg2, for the back-end database. See
db/setup_db.py for help in setting up the database for access.
-For now, things are expected to run as "vland" with appropriate
+How to use
+==========
+
+For now, things are easiest run as "vland" with appropriate
permissions in the database for that user.
-Really need to write more stuff here... :-)
+The core VLANd code is simple to configure - see vland.cfg for an
+example config file. Once your copy of VLANd is running, use the
+administration utility admin.py to control what it does. For now, this
+is single-threaded and has *no* security. This *will* change in the
+future, but for very early development has not been a priority.
-Steve McIntyre <steve.mcintyre@linaro.org>
+Future plans
+============
+
+As a start...
+
+ * More documentation
+ * More drivers to control more devices, both real and virtual
+ * Visualisation options
+ * Better (some!) security
+ * Other filtering options - MAC-based rather than just port-based
+ (needed to support virtual machines, etc.)
+
+If you have other ideas, please talk to us!
+
+Contact
+=======
VLANd mailing list: vland-devel@linaro.org
+
+Code
+====
+
+https://git.linaro.org/lava/vland.git
+
+--------------------------------------------------------------------------
+README for VLANd 0.2, 13th February 2015
+Steve McIntyre <steve.mcintyre@linaro.org>