vswitch: Make unique "name" columns immutable, to simplify transactions.
authorBen Pfaff <blp@nicira.com>
Fri, 22 Oct 2010 17:19:13 +0000 (10:19 -0700)
committerBen Pfaff <blp@nicira.com>
Fri, 22 Oct 2010 21:48:08 +0000 (14:48 -0700)
commit1a9a2e4b2d12581b13d6faf29892266796f1126a
treec0edbec1458a1a7425ac67c9427f5f994007d0f1
parentc424adb3ac3460818256181a073b09e92cdc562a
vswitch: Make unique "name" columns immutable, to simplify transactions.

OVSDB has transactions but not locking, so a transaction that must
maintain an invariant must check that the starting state is what it
expects.  For example, to add a bridge a client must verify that the new
bridge's name does not conflict with any existing bridge's name, given
that the set of bridges might have changed.  One way to do that is for
the client to verify that that the set of bridges is the same and that none
of the bridges has been renamed to the new bridge's name.  By making
bridge names immutable, the latter part of the check can be omitted.

Mirror names are not required to be unique so this commit does not make
them immutable.

CC: Jeremy Stribling <strib@nicira.com>
vswitchd/vswitch.ovsschema