[ovs-dev] [vsctl prereqs 2/5] vswitch: Make unique "name" columns immutable, to simplify transactions.

Justin Pettit jpettit at nicira.com
Fri Oct 22 20:43:17 UTC 2010


Looks good.

--Justin


On Oct 22, 2010, at 12:55 PM, Ben Pfaff wrote:

> 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 at nicira.com>
> ---
> vswitchd/vswitch.ovsschema |    9 ++++++---
> 1 files changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/vswitchd/vswitch.ovsschema b/vswitchd/vswitch.ovsschema
> index d872fdc..0be1b17 100644
> --- a/vswitchd/vswitch.ovsschema
> +++ b/vswitchd/vswitch.ovsschema
> @@ -36,7 +36,8 @@
>    "Bridge": {
>      "columns": {
>        "name": {
> -         "type": "string"},
> +         "type": "string",
> +         "mutable": false},
>        "datapath_type": {
>          "type": "string"},
>        "datapath_id": {
> @@ -78,7 +79,8 @@
>    "Port": {
>      "columns": {
>        "name": {
> -         "type": "string"},
> +         "type": "string",
> +         "mutable": false},
>        "interfaces": {
>          "type": {"key": {"type": "uuid",
>                           "refTable": "Interface"},
> @@ -115,7 +117,8 @@
>    "Interface": {
>      "columns": {
>        "name": {
> -         "type": "string"},
> +         "type": "string",
> +         "mutable": false},
>        "type": {
>          "type": "string"},
>        "options": {
> -- 
> 1.7.1
> 
> 
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev_openvswitch.org





More information about the dev mailing list