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)
committerJustin Pettit <jpettit@nicira.com>
Tue, 26 Oct 2010 06:44:22 +0000 (23:44 -0700)
commit7662e18d822869347de6a5273e88fd0d7c1addb2
tree66902eb005e6fe20c266970dcfe563070ba4618b
parentc5ef4d5f755873bb6ec9ff4880a1284e6fcd8829
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