Thanks, I pushed this one.

On Fri, May 20, 2011 at 06:33:59PM -0700, Ethan Jackson wrote:
> Looks Good.
> 
> Ethan
> 
> On Thu, May 12, 2011 at 13:46, Ben Pfaff <[email protected]> wrote:
> > The sparse checker does not like taking sizeof(_Bool). ?Older versions of
> > sparse output a hard error ("error: cannot size expression"). ?Newer
> > versions output a warning ("warning: expression using sizeof bool"). ?This
> > commit avoids the problem by not using sizeof(_Bool) anywhere.
> >
> > The only place where OVS uses sizeof(_Bool) anyway is in code generated by
> > the OVSDB IDL. ?It generates it for populating "optional bool" columns in
> > the database, that is, columns that are allowed to contain 0 or 1 instances
> > of a bool. ?For these columns, it generates code that looks roughly like
> > this:
> > ? ?row->column = xmalloc(sizeof *row->column);
> > ? ?*row->column = value;
> > This commit changes these columns from type "bool *" to type "const bool *"
> > and changes the generated code to:
> > ? ?static const bool true_value = true;
> > ? ?static const bool false_value = false;
> >
> > ? ?row->column = value ? &true_value : &false_value;
> > which avoids the problem and saves a malloc() call at the same time.
> >
> > The idltest code had a column with a slightly different type ("0, 1, or
> > 2 bools") that didn't fit the revised pattern and is a fairly stupid type
> > anyhow, so I just changed it to "0 or 1 bools".
> > ---
> > ?ovsdb/ovsdb-idlc.in ? ? | ? 34 ++++++++++++++++++++++++++++++++--
> > ?tests/idltest.ovsschema | ? ?2 +-
> > ?tests/ovsdb-idl-py.at ? | ? 22 +++++++++++-----------
> > ?tests/ovsdb-idl.at ? ? ?| ? 28 ++++++++++++++--------------
> > ?vswitchd/bridge.c ? ? ? | ? ?2 +-
> > ?5 files changed, 59 insertions(+), 29 deletions(-)
> >
> > diff --git a/ovsdb/ovsdb-idlc.in b/ovsdb/ovsdb-idlc.in
> > index 2a4c67c..e5c8183 100755
> > --- a/ovsdb/ovsdb-idlc.in
> > +++ b/ovsdb/ovsdb-idlc.in
> > @@ -27,6 +27,8 @@ def constify(cType, const):
> >
> > ?def cMembers(prefix, columnName, column, const):
> > ? ? type = column.type
> > + ? ?if is_optional_bool(type):
> > + ? ? ? ?const = True
> > ? ? if type.n_min == 1 and type.n_max == 1:
> > ? ? ? ? singleton = True
> > ? ? ? ? pointer = ''
> > @@ -165,6 +167,10 @@ def printEnum(members):
> > ? ? print " ? ?%s" % members[-1]
> > ? ? print "};"
> >
> > +def is_optional_bool(type):
> > + ? ?return (type.key.type == ovs.db.types.BooleanType and not type.value
> > + ? ? ? ? ? ?and type.n_min == 0 and type.n_max == 1)
> > +
> > ?def printCIDLSource(schemaFile):
> > ? ? schema = parseSchema(schemaFile)
> > ? ? prefix = schema.idlPrefix
> > @@ -215,7 +221,23 @@ static void
> > ? ? ? ? ? ? ? ? keyVar = "row->%s" % columnName
> > ? ? ? ? ? ? ? ? valueVar = None
> >
> > - ? ? ? ? ? ?if (type.n_min == 1 and type.n_max == 1) or 
> > type.is_optional_pointer():
> > + ? ? ? ? ? ?if is_optional_bool(type):
> > + ? ? ? ? ? ? ? ?# Special case for an optional bool. ?This is only here 
> > because
> > + ? ? ? ? ? ? ? ?# sparse does not like the "normal" case below ("warning:
> > + ? ? ? ? ? ? ? ?# expression using sizeof bool").
> > + ? ? ? ? ? ? ? ?print
> > + ? ? ? ? ? ? ? ?print " ? ?assert(inited);"
> > + ? ? ? ? ? ? ? ?print " ? ?if (datum->n >= 1) {"
> > + ? ? ? ? ? ? ? ?print " ? ? ? ?static const bool false_value = false;"
> > + ? ? ? ? ? ? ? ?print " ? ? ? ?static const bool true_value = true;"
> > + ? ? ? ? ? ? ? ?print
> > + ? ? ? ? ? ? ? ?print " ? ? ? ?row->n_%s = 1;" % columnName
> > + ? ? ? ? ? ? ? ?print " ? ? ? ?%s = datum->keys[0].boolean ? &true_value : 
> > &false_value;" % keyVar
> > + ? ? ? ? ? ? ? ?print " ? ?} else {"
> > + ? ? ? ? ? ? ? ?print " ? ? ? ?row->n_%s = 0;" % columnName
> > + ? ? ? ? ? ? ? ?print " ? ? ? ?%s = NULL;" % keyVar
> > + ? ? ? ? ? ? ? ?print " ? ?}"
> > + ? ? ? ? ? ?elif (type.n_min == 1 and type.n_max == 1) or 
> > type.is_optional_pointer():
> > ? ? ? ? ? ? ? ? print
> > ? ? ? ? ? ? ? ? print " ? ?assert(inited);"
> > ? ? ? ? ? ? ? ? print " ? ?if (datum->n >= 1) {"
> > @@ -283,7 +305,15 @@ static void
> > ? ? ? ? # Unparse functions.
> > ? ? ? ? for columnName, column in sorted(table.columns.iteritems()):
> > ? ? ? ? ? ? type = column.type
> > - ? ? ? ? ? ?if (type.n_min != 1 or type.n_max != 1) and not 
> > type.is_optional_pointer():
> > + ? ? ? ? ? ?if (type.key.type == ovs.db.types.BooleanType and not 
> > type.value
> > + ? ? ? ? ? ? ? ?and type.n_min == 0 and type.n_max == 1):
> > + ? ? ? ? ? ? ? ?print '''
> > +static void
> > +%(s)s_unparse_%(c)s(struct ovsdb_idl_row *row OVS_UNUSED)
> > +{
> > + ? ?/* Nothing to do. */
> > +}''' % {'s': structName, 'c': columnName}
> > + ? ? ? ? ? ?elif (type.n_min != 1 or type.n_max != 1) and not 
> > type.is_optional_pointer():
> > ? ? ? ? ? ? ? ? print '''
> > ?static void
> > ?%(s)s_unparse_%(c)s(struct ovsdb_idl_row *row_)
> > diff --git a/tests/idltest.ovsschema b/tests/idltest.ovsschema
> > index 275a49e..1d073aa 100644
> > --- a/tests/idltest.ovsschema
> > +++ b/tests/idltest.ovsschema
> > @@ -60,7 +60,7 @@
> > ? ? ? ? "ba": {
> > ? ? ? ? ? "type": {
> > ? ? ? ? ? ? "key": "boolean",
> > - ? ? ? ? ? ?"max": "unlimited",
> > + ? ? ? ? ? ?"max": 1,
> > ? ? ? ? ? ? "min": 0
> > ? ? ? ? ? }
> > ? ? ? ? },
> > diff --git a/tests/ovsdb-idl-py.at b/tests/ovsdb-idl-py.at
> > index 5f7661b..8104385 100644
> > --- a/tests/ovsdb-idl-py.at
> > +++ b/tests/ovsdb-idl-py.at
> > @@ -51,7 +51,7 @@ OVSDB_CHECK_IDL([simple idl, initially empty, various ops 
> > - Python],
> > ? ? ? ? ? ? ? ?"u": ["uuid", "84f5c8f5-ac76-4dbc-a24f-8860eb407fc1"],
> > ? ? ? ? ? ? ? ?"ia": ["set", [1, 2, 3]],
> > ? ? ? ? ? ? ? ?"ra": ["set", [-0.5]],
> > - ? ? ? ? ? ? ? "ba": ["set", [true, false]],
> > + ? ? ? ? ? ? ? "ba": ["set", [true]],
> > ? ? ? ? ? ? ? ?"sa": ["set", ["abc", "def"]],
> > ? ? ? ? ? ? ? ?"ua": ["set", [["uuid", 
> > "69443985-7806-45e2-b35f-574a04e720f9"],
> > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ["uuid", 
> > "aad11ef0-816a-4b01-93e6-03b8b4256b98"]]]}},
> > @@ -93,27 +93,27 @@ OVSDB_CHECK_IDL([simple idl, initially empty, various 
> > ops - Python],
> > ? [[000: empty
> > ?001: 
> > {"error":null,"result":[{"uuid":["uuid","<0>"]},{"uuid":["uuid","<1>"]}]}
> > ?002: i=0 r=0 b=false s= u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
> > -002: i=1 r=2 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[false true] 
> > sa=[abc def] ua=[<4> <5>] uuid=<0>
> > +002: i=1 r=2 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] 
> > sa=[abc def] ua=[<4> <5>] uuid=<0>
> > ?003: {"error":null,"result":[{"count":2}]}
> > ?004: i=0 r=0 b=true s= u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
> > -004: i=1 r=2 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[false true] 
> > sa=[abc def] ua=[<4> <5>] uuid=<0>
> > +004: i=1 r=2 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] 
> > sa=[abc def] ua=[<4> <5>] uuid=<0>
> > ?005: {"error":null,"result":[{"count":2}]}
> > ?006: i=0 r=123.5 b=true s= u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
> > -006: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[false 
> > true] sa=[abc def] ua=[<4> <5>] uuid=<0>
> > +006: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] 
> > sa=[abc def] ua=[<4> <5>] uuid=<0>
> > ?007: {"error":null,"result":[{"uuid":["uuid","<6>"]}]}
> > ?008: i=-1 r=125 b=false s= u=<2> ia=[1] ra=[1.5] ba=[false] sa=[] ua=[] 
> > uuid=<6>
> > ?008: i=0 r=123.5 b=true s= u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
> > -008: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[false 
> > true] sa=[abc def] ua=[<4> <5>] uuid=<0>
> > +008: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] 
> > sa=[abc def] ua=[<4> <5>] uuid=<0>
> > ?009: {"error":null,"result":[{"count":2}]}
> > ?010: i=-1 r=125 b=false s=newstring u=<2> ia=[1] ra=[1.5] ba=[false] sa=[] 
> > ua=[] uuid=<6>
> > ?010: i=0 r=123.5 b=true s=newstring u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] 
> > uuid=<1>
> > -010: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[false 
> > true] sa=[abc def] ua=[<4> <5>] uuid=<0>
> > +010: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] 
> > sa=[abc def] ua=[<4> <5>] uuid=<0>
> > ?011: {"error":null,"result":[{"count":1}]}
> > ?012: i=-1 r=125 b=false s=newstring u=<2> ia=[1] ra=[1.5] ba=[false] sa=[] 
> > ua=[] uuid=<6>
> > -012: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[false 
> > true] sa=[abc def] ua=[<4> <5>] uuid=<0>
> > +012: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] 
> > sa=[abc def] ua=[<4> <5>] uuid=<0>
> > ?013: reconnect
> > ?014: i=-1 r=125 b=false s=newstring u=<2> ia=[1] ra=[1.5] ba=[false] sa=[] 
> > ua=[] uuid=<6>
> > -014: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[false 
> > true] sa=[abc def] ua=[<4> <5>] uuid=<0>
> > +014: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] 
> > sa=[abc def] ua=[<4> <5>] uuid=<0>
> > ?015: done
> > ?]])
> >
> > @@ -128,7 +128,7 @@ OVSDB_CHECK_IDL([simple idl, initially populated - 
> > Python],
> > ? ? ? ? ? ? ? ?"u": ["uuid", "84f5c8f5-ac76-4dbc-a24f-8860eb407fc1"],
> > ? ? ? ? ? ? ? ?"ia": ["set", [1, 2, 3]],
> > ? ? ? ? ? ? ? ?"ra": ["set", [-0.5]],
> > - ? ? ? ? ? ? ? "ba": ["set", [true, false]],
> > + ? ? ? ? ? ? ? "ba": ["set", [true]],
> > ? ? ? ? ? ? ? ?"sa": ["set", ["abc", "def"]],
> > ? ? ? ? ? ? ? ?"ua": ["set", [["uuid", 
> > "69443985-7806-45e2-b35f-574a04e720f9"],
> > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ["uuid", 
> > "aad11ef0-816a-4b01-93e6-03b8b4256b98"]]]}},
> > @@ -141,9 +141,9 @@ OVSDB_CHECK_IDL([simple idl, initially populated - 
> > Python],
> > ? ? ? ?"where": [],
> > ? ? ? ?"row": {"b": true}}]']],
> > ? [[000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
> > -000: i=1 r=2 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[false true] 
> > sa=[abc def] ua=[<3> <4>] uuid=<5>
> > +000: i=1 r=2 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[true] 
> > sa=[abc def] ua=[<3> <4>] uuid=<5>
> > ?001: {"error":null,"result":[{"count":2}]}
> > ?002: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
> > -002: i=1 r=2 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[false true] 
> > sa=[abc def] ua=[<3> <4>] uuid=<5>
> > +002: i=1 r=2 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[true] 
> > sa=[abc def] ua=[<3> <4>] uuid=<5>
> > ?003: done
> > ?]])
> > diff --git a/tests/ovsdb-idl.at b/tests/ovsdb-idl.at
> > index 3b4cfc8..5956f72 100644
> > --- a/tests/ovsdb-idl.at
> > +++ b/tests/ovsdb-idl.at
> > @@ -50,7 +50,7 @@ OVSDB_CHECK_IDL([simple idl, initially empty, various 
> > ops],
> > ? ? ? ? ? ? ? ?"u": ["uuid", "84f5c8f5-ac76-4dbc-a24f-8860eb407fc1"],
> > ? ? ? ? ? ? ? ?"ia": ["set", [1, 2, 3]],
> > ? ? ? ? ? ? ? ?"ra": ["set", [-0.5]],
> > - ? ? ? ? ? ? ? "ba": ["set", [true, false]],
> > + ? ? ? ? ? ? ? "ba": ["set", [true]],
> > ? ? ? ? ? ? ? ?"sa": ["set", ["abc", "def"]],
> > ? ? ? ? ? ? ? ?"ua": ["set", [["uuid", 
> > "69443985-7806-45e2-b35f-574a04e720f9"],
> > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ["uuid", 
> > "aad11ef0-816a-4b01-93e6-03b8b4256b98"]]]}},
> > @@ -92,27 +92,27 @@ OVSDB_CHECK_IDL([simple idl, initially empty, various 
> > ops],
> > ? [[000: empty
> > ?001: 
> > {"error":null,"result":[{"uuid":["uuid","<0>"]},{"uuid":["uuid","<1>"]}]}
> > ?002: i=0 r=0 b=false s= u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
> > -002: i=1 r=2 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[false true] 
> > sa=[abc def] ua=[<4> <5>] uuid=<0>
> > +002: i=1 r=2 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] 
> > sa=[abc def] ua=[<4> <5>] uuid=<0>
> > ?003: {"error":null,"result":[{"count":2}]}
> > ?004: i=0 r=0 b=true s= u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
> > -004: i=1 r=2 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[false true] 
> > sa=[abc def] ua=[<4> <5>] uuid=<0>
> > +004: i=1 r=2 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] 
> > sa=[abc def] ua=[<4> <5>] uuid=<0>
> > ?005: {"error":null,"result":[{"count":2}]}
> > ?006: i=0 r=123.5 b=true s= u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
> > -006: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[false 
> > true] sa=[abc def] ua=[<4> <5>] uuid=<0>
> > +006: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] 
> > sa=[abc def] ua=[<4> <5>] uuid=<0>
> > ?007: {"error":null,"result":[{"uuid":["uuid","<6>"]}]}
> > ?008: i=-1 r=125 b=false s= u=<2> ia=[1] ra=[1.5] ba=[false] sa=[] ua=[] 
> > uuid=<6>
> > ?008: i=0 r=123.5 b=true s= u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
> > -008: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[false 
> > true] sa=[abc def] ua=[<4> <5>] uuid=<0>
> > +008: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] 
> > sa=[abc def] ua=[<4> <5>] uuid=<0>
> > ?009: {"error":null,"result":[{"count":2}]}
> > ?010: i=-1 r=125 b=false s=newstring u=<2> ia=[1] ra=[1.5] ba=[false] sa=[] 
> > ua=[] uuid=<6>
> > ?010: i=0 r=123.5 b=true s=newstring u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] 
> > uuid=<1>
> > -010: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[false 
> > true] sa=[abc def] ua=[<4> <5>] uuid=<0>
> > +010: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] 
> > sa=[abc def] ua=[<4> <5>] uuid=<0>
> > ?011: {"error":null,"result":[{"count":1}]}
> > ?012: i=-1 r=125 b=false s=newstring u=<2> ia=[1] ra=[1.5] ba=[false] sa=[] 
> > ua=[] uuid=<6>
> > -012: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[false 
> > true] sa=[abc def] ua=[<4> <5>] uuid=<0>
> > +012: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] 
> > sa=[abc def] ua=[<4> <5>] uuid=<0>
> > ?013: reconnect
> > ?014: i=-1 r=125 b=false s=newstring u=<2> ia=[1] ra=[1.5] ba=[false] sa=[] 
> > ua=[] uuid=<6>
> > -014: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[false 
> > true] sa=[abc def] ua=[<4> <5>] uuid=<0>
> > +014: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] 
> > sa=[abc def] ua=[<4> <5>] uuid=<0>
> > ?015: done
> > ?]])
> >
> > @@ -127,7 +127,7 @@ OVSDB_CHECK_IDL([simple idl, initially populated],
> > ? ? ? ? ? ? ? ?"u": ["uuid", "84f5c8f5-ac76-4dbc-a24f-8860eb407fc1"],
> > ? ? ? ? ? ? ? ?"ia": ["set", [1, 2, 3]],
> > ? ? ? ? ? ? ? ?"ra": ["set", [-0.5]],
> > - ? ? ? ? ? ? ? "ba": ["set", [true, false]],
> > + ? ? ? ? ? ? ? "ba": ["set", [true]],
> > ? ? ? ? ? ? ? ?"sa": ["set", ["abc", "def"]],
> > ? ? ? ? ? ? ? ?"ua": ["set", [["uuid", 
> > "69443985-7806-45e2-b35f-574a04e720f9"],
> > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ["uuid", 
> > "aad11ef0-816a-4b01-93e6-03b8b4256b98"]]]}},
> > @@ -140,10 +140,10 @@ OVSDB_CHECK_IDL([simple idl, initially populated],
> > ? ? ? ?"where": [],
> > ? ? ? ?"row": {"b": true}}]']],
> > ? [[000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
> > -000: i=1 r=2 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[false true] 
> > sa=[abc def] ua=[<3> <4>] uuid=<5>
> > +000: i=1 r=2 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[true] 
> > sa=[abc def] ua=[<3> <4>] uuid=<5>
> > ?001: {"error":null,"result":[{"count":2}]}
> > ?002: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
> > -002: i=1 r=2 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[false true] 
> > sa=[abc def] ua=[<3> <4>] uuid=<5>
> > +002: i=1 r=2 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[true] 
> > sa=[abc def] ua=[<3> <4>] uuid=<5>
> > ?003: done
> > ?]])
> >
> > @@ -158,7 +158,7 @@ OVSDB_CHECK_IDL([simple idl, writing via IDL],
> > ? ? ? ? ? ? ? ?"u": ["uuid", "84f5c8f5-ac76-4dbc-a24f-8860eb407fc1"],
> > ? ? ? ? ? ? ? ?"ia": ["set", [1, 2, 3]],
> > ? ? ? ? ? ? ? ?"ra": ["set", [-0.5]],
> > - ? ? ? ? ? ? ? "ba": ["set", [true, false]],
> > + ? ? ? ? ? ? ? "ba": ["set", [true]],
> > ? ? ? ? ? ? ? ?"sa": ["set", ["abc", "def"]],
> > ? ? ? ? ? ? ? ?"ua": ["set", [["uuid", 
> > "69443985-7806-45e2-b35f-574a04e720f9"],
> > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ["uuid", 
> > "aad11ef0-816a-4b01-93e6-03b8b4256b98"]]]}},
> > @@ -168,10 +168,10 @@ OVSDB_CHECK_IDL([simple idl, writing via IDL],
> > ? [['verify 0 b, verify 1 r, set 0 b 1, set 1 r 3.5' \
> > ? ? 'insert 2, verify 2 i, verify 1 b, delete 1']],
> > ? [[000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
> > -000: i=1 r=2 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[false true] 
> > sa=[abc def] ua=[<3> <4>] uuid=<5>
> > +000: i=1 r=2 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[true] 
> > sa=[abc def] ua=[<3> <4>] uuid=<5>
> > ?001: commit, status=success
> > ?002: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
> > -002: i=1 r=3.5 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[false 
> > true] sa=[abc def] ua=[<3> <4>] uuid=<5>
> > +002: i=1 r=3.5 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[true] 
> > sa=[abc def] ua=[<3> <4>] uuid=<5>
> > ?003: commit, status=success
> > ?004: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
> > ?004: i=2 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<6>
> > diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c
> > index 9accbdd..6b3c5e3 100644
> > --- a/vswitchd/bridge.c
> > +++ b/vswitchd/bridge.c
> > @@ -1251,7 +1251,7 @@ iface_refresh_cfm_stats(struct iface *iface)
> > ?static bool
> > ?iface_refresh_lacp_stats(struct iface *iface)
> > ?{
> > - ? ?bool *db_current = iface->cfg->lacp_current;
> > + ? ?const bool *db_current = iface->cfg->lacp_current;
> > ? ? bool changed = false;
> >
> > ? ? if (iface->port->lacp) {
> > --
> > 1.7.4.4
> >
> > _______________________________________________
> > dev mailing list
> > [email protected]
> > http://openvswitch.org/mailman/listinfo/dev
> >
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to