datapath: Disable large receive offload.
[openvswitch] / tests / ovsdb-execution.at
index 334e20848dc542a193ae92446af917e13db6d827..ed28b2a9d39cac2fe066b78c8bc5eaf4fae92f0b 100644 (file)
@@ -1,7 +1,7 @@
 AT_BANNER([OVSDB -- execution])
 
 m4_define([ORDINAL_SCHEMA],
-  [[{"name": "mydb",
+  [[{"name": "ordinals",
      "tables": {
        "ordinals": {
          "columns": {
@@ -51,12 +51,30 @@ m4_define([OVSDB_CHECK_EXECUTION],
    AT_CLEANUP])
 
 m4_define([EXECUTION_EXAMPLES], [
+dnl At one point the "commit" code ignored new rows with all-default values,
+dnl so this checks for that problem.
+OVSDB_CHECK_EXECUTION([insert default row, query table],
+  [ORDINAL_SCHEMA], 
+  [[[["ordinals",
+      {"op": "insert",
+       "table": "ordinals",
+       "row": {}}]]],
+   [[["ordinals",
+      {"op": "select",
+       "table": "ordinals",
+       "where": []}]]]],
+  [[[{"uuid":["uuid","<0>"]}]
+[{"rows":[{"_uuid":["uuid","<0>"],"_version":["uuid","<1>"],"name":"","number":0}]}]
+]])
+
 OVSDB_CHECK_EXECUTION([insert row, query table],
   [ORDINAL_SCHEMA], 
-  [[[[{"op": "insert",
+  [[[["ordinals",
+      {"op": "insert",
        "table": "ordinals",
        "row": {"number": 0, "name": "zero"}}]]],
-   [[[{"op": "select",
+   [[["ordinals",
+      {"op": "select",
        "table": "ordinals",
        "where": []}]]]],
   [[[{"uuid":["uuid","<0>"]}]
@@ -65,16 +83,20 @@ OVSDB_CHECK_EXECUTION([insert row, query table],
 
 OVSDB_CHECK_EXECUTION([insert rows, query by value],
   [ORDINAL_SCHEMA],
-  [[[[{"op": "insert",
+  [[[["ordinals",
+      {"op": "insert",
        "table": "ordinals",
        "row": {"number": 0, "name": "zero"}}]]],
-   [[[{"op": "insert",
+   [[["ordinals",
+      {"op": "insert",
        "table": "ordinals",
        "row": {"number": 1, "name": "one"}}]]],
-   [[[{"op": "select",
+   [[["ordinals",
+      {"op": "select",
        "table": "ordinals",
        "where": [["name", "==", "zero"]]}]]],
-   [[[{"op": "select",
+   [[["ordinals",
+      {"op": "select",
        "table": "ordinals",
        "where": [["name", "==", "one"]]}]]]],
   [[[{"uuid":["uuid","<0>"]}]
@@ -85,7 +107,8 @@ OVSDB_CHECK_EXECUTION([insert rows, query by value],
 
 OVSDB_CHECK_EXECUTION([insert rows, query by named-uuid],
   [ORDINAL_SCHEMA],
-  [[[[{"op": "insert",
+  [[[["ordinals",
+      {"op": "insert",
        "table": "ordinals",
        "row": {"number": 0, "name": "zero"},
        "uuid-name": "first"},
@@ -104,19 +127,23 @@ OVSDB_CHECK_EXECUTION([insert rows, query by named-uuid],
 
 OVSDB_CHECK_EXECUTION([insert rows, update rows by value],
   [ORDINAL_SCHEMA],
-  [[[[{"op": "insert",
+  [[[["ordinals",
+      {"op": "insert",
        "table": "ordinals",
        "row": {"number": 0, "name": "zero"},
        "uuid-name": "first"}]]],
-   [[[{"op": "insert",
+   [[["ordinals",
+      {"op": "insert",
        "table": "ordinals",
        "row": {"number": 1, "name": "one"},
        "uuid-name": "first"}]]],
-   [[[{"op": "update",
+   [[["ordinals",
+      {"op": "update",
        "table": "ordinals",
        "where": [["name", "==", "zero"]],
        "row": {"name": "nought"}}]]],
-   [[[{"op": "select",
+   [[["ordinals",
+      {"op": "select",
        "table": "ordinals",
        "where": [],
        "sort": ["number"]}]]]],
@@ -128,19 +155,23 @@ OVSDB_CHECK_EXECUTION([insert rows, update rows by value],
 
 OVSDB_CHECK_EXECUTION([insert rows, mutate rows],
   [ORDINAL_SCHEMA],
-  [[[[{"op": "insert",
+  [[[["ordinals",
+      {"op": "insert",
        "table": "ordinals",
        "row": {"number": 0, "name": "zero"},
        "uuid-name": "first"}]]],
-   [[[{"op": "insert",
+   [[["ordinals",
+      {"op": "insert",
        "table": "ordinals",
        "row": {"number": 1, "name": "one"},
        "uuid-name": "first"}]]],
-   [[[{"op": "mutate",
+   [[["ordinals",
+      {"op": "mutate",
        "table": "ordinals",
        "where": [["name", "==", "zero"]],
        "mutations": [["number", "+=", 2]]}]]],
-   [[[{"op": "select",
+   [[["ordinals",
+      {"op": "select",
        "table": "ordinals",
        "where": [],
        "sort": ["number"]}]]]],
@@ -152,7 +183,8 @@ OVSDB_CHECK_EXECUTION([insert rows, mutate rows],
 
 OVSDB_CHECK_EXECUTION([insert rows, delete by named-uuid],
   [ORDINAL_SCHEMA],
-  [[[[{"op": "insert",
+  [[[["ordinals",
+      {"op": "insert",
        "table": "ordinals",
        "row": {"number": 0, "name": "zero"},
        "uuid-name": "first"},
@@ -172,18 +204,22 @@ OVSDB_CHECK_EXECUTION([insert rows, delete by named-uuid],
 
 OVSDB_CHECK_EXECUTION([insert rows, delete rows by value],
   [ORDINAL_SCHEMA],
-  [[[[{"op": "insert",
+  [[[["ordinals",
+      {"op": "insert",
        "table": "ordinals",
        "row": {"number": 0, "name": "zero"},
        "uuid-name": "first"}]]],
-   [[[{"op": "insert",
+   [[["ordinals",
+      {"op": "insert",
        "table": "ordinals",
        "row": {"number": 1, "name": "one"},
        "uuid-name": "first"}]]],
-   [[[{"op": "delete",
+   [[["ordinals",
+      {"op": "delete",
        "table": "ordinals",
        "where": [["name", "==", "zero"]]}]]],
-   [[[{"op": "select",
+   [[["ordinals",
+      {"op": "select",
        "table": "ordinals",
        "where": []}]]]],
   [[[{"uuid":["uuid","<0>"]}]
@@ -194,18 +230,22 @@ OVSDB_CHECK_EXECUTION([insert rows, delete rows by value],
 
 OVSDB_CHECK_EXECUTION([insert rows, delete by (non-matching) value],
   [ORDINAL_SCHEMA],
-  [[[[{"op": "insert",
+  [[[["ordinals",
+      {"op": "insert",
        "table": "ordinals",
        "row": {"number": 0, "name": "zero"},
        "uuid-name": "first"}]]],
-   [[[{"op": "insert",
+   [[["ordinals",
+      {"op": "insert",
        "table": "ordinals",
        "row": {"number": 1, "name": "one"},
        "uuid-name": "first"}]]],
-   [[[{"op": "delete",
+   [[["ordinals",
+      {"op": "delete",
        "table": "ordinals",
        "where": [["name", "==", "nought"]]}]]],
-   [[[{"op": "select",
+   [[["ordinals",
+      {"op": "select",
        "table": "ordinals",
        "where": [],
        "sort": ["number"]}]]]],
@@ -217,7 +257,8 @@ OVSDB_CHECK_EXECUTION([insert rows, delete by (non-matching) value],
 
 OVSDB_CHECK_EXECUTION([insert rows, delete all],
   [ORDINAL_SCHEMA],
-  [[[[{"op": "insert",
+  [[[["ordinals",
+      {"op": "insert",
        "table": "ordinals",
        "row": {"number": 0, "name": "zero"},
        "uuid-name": "first"},
@@ -237,7 +278,8 @@ OVSDB_CHECK_EXECUTION([insert rows, delete all],
 
 OVSDB_CHECK_EXECUTION([insert row, query table, commit],
   [ORDINAL_SCHEMA],
-  [[[[{"op": "insert",
+  [[[["ordinals",
+      {"op": "insert",
        "table": "ordinals",
        "row": {"number": 0, "name": "zero"}},
       {"op": "select",
@@ -250,7 +292,8 @@ OVSDB_CHECK_EXECUTION([insert row, query table, commit],
 
 OVSDB_CHECK_EXECUTION([insert row, query table, commit durably],
   [ORDINAL_SCHEMA],
-  [[[[{"op": "insert",
+  [[[["ordinals",
+      {"op": "insert",
        "table": "ordinals",
        "row": {"number": 0, "name": "zero"}},
       {"op": "select",
@@ -263,7 +306,8 @@ OVSDB_CHECK_EXECUTION([insert row, query table, commit durably],
 
 OVSDB_CHECK_EXECUTION([equality wait with correct rows],
   [ORDINAL_SCHEMA],
-  [[[[{"op": "insert",
+  [[[["ordinals",
+      {"op": "insert",
        "table": "ordinals",
        "row": {"number": 0, "name": "zero"}},
       {"op": "insert",
@@ -282,7 +326,8 @@ OVSDB_CHECK_EXECUTION([equality wait with correct rows],
 
 OVSDB_CHECK_EXECUTION([equality wait with extra row],
   [ORDINAL_SCHEMA],
-  [[[[{"op": "insert",
+  [[[["ordinals",
+      {"op": "insert",
        "table": "ordinals",
        "row": {"number": 0, "name": "zero"}},
       {"op": "insert",
@@ -302,7 +347,8 @@ OVSDB_CHECK_EXECUTION([equality wait with extra row],
 
 OVSDB_CHECK_EXECUTION([equality wait with missing row],
   [ORDINAL_SCHEMA],
-  [[[[{"op": "insert",
+  [[[["ordinals",
+      {"op": "insert",
        "table": "ordinals",
        "row": {"number": 0, "name": "zero"}},
       {"op": "insert",
@@ -320,7 +366,8 @@ OVSDB_CHECK_EXECUTION([equality wait with missing row],
 
 OVSDB_CHECK_EXECUTION([inequality wait with correct rows],
   [ORDINAL_SCHEMA],
-  [[[[{"op": "insert",
+  [[[["ordinals",
+      {"op": "insert",
        "table": "ordinals",
        "row": {"number": 0, "name": "zero"}},
       {"op": "insert",
@@ -339,7 +386,8 @@ OVSDB_CHECK_EXECUTION([inequality wait with correct rows],
 
 OVSDB_CHECK_EXECUTION([inequality wait with extra row],
   [ORDINAL_SCHEMA],
-  [[[[{"op": "insert",
+  [[[["ordinals",
+      {"op": "insert",
        "table": "ordinals",
        "row": {"number": 0, "name": "zero"}},
       {"op": "insert",
@@ -359,7 +407,8 @@ OVSDB_CHECK_EXECUTION([inequality wait with extra row],
 
 OVSDB_CHECK_EXECUTION([inequality wait with missing row],
   [ORDINAL_SCHEMA],
-  [[[[{"op": "insert",
+  [[[["ordinals",
+      {"op": "insert",
        "table": "ordinals",
        "row": {"number": 0, "name": "zero"}},
       {"op": "insert",
@@ -377,13 +426,16 @@ OVSDB_CHECK_EXECUTION([inequality wait with missing row],
 
 OVSDB_CHECK_EXECUTION([insert and update constraints],
   [CONSTRAINT_SCHEMA],
-  [[[[{"op": "insert",
+  [[[["constraints",
+      {"op": "insert",
        "table": "constrained",
        "row": {}}]]],
-   [[[{"op": "insert",
+   [[["constraints",
+      {"op": "insert",
        "table": "constrained",
        "row": {"positive": -1}}]]],
-   [[[{"op": "update",
+   [[["constraints",
+      {"op": "update",
        "table": "constrained",
        "where": [],
        "row": {"positive": -2}}]]]],
@@ -394,7 +446,8 @@ OVSDB_CHECK_EXECUTION([insert and update constraints],
 
 OVSDB_CHECK_EXECUTION([referential integrity -- simple],
   [CONSTRAINT_SCHEMA],
-  [[[[{"op": "insert",
+  [[[["constraints",
+      {"op": "insert",
        "table": "b",
        "row": {"b": 1},
        "uuid-name": "brow"},
@@ -410,25 +463,32 @@ OVSDB_CHECK_EXECUTION([referential integrity -- simple],
        "table": "a",
        "row": {"a": 2,
                "a2b": ["set", [["named-uuid", "brow"]]]}}]]],
-   [[[{"op": "delete",
+   [[["constraints",
+      {"op": "delete",
        "table": "b",
        "where": []}]]],
-   [[[{"op": "delete",
+   [[["constraints",
+      {"op": "delete",
        "table": "a",
        "where": [["a", "==", 0]]}]]],
-   [[[{"op": "delete",
+   [[["constraints",
+      {"op": "delete",
        "table": "b",
        "where": []}]]],
-   [[[{"op": "delete",
+   [[["constraints",
+      {"op": "delete",
        "table": "a",
        "where": [["a", "==", 1]]}]]],
-   [[[{"op": "delete",
+   [[["constraints",
+      {"op": "delete",
        "table": "b",
        "where": []}]]],
-   [[[{"op": "delete",
+   [[["constraints",
+      {"op": "delete",
        "table": "a",
        "where": [["a", "==", 2]]}]]],
-   [[[{"op": "delete",
+   [[["constraints",
+      {"op": "delete",
        "table": "b",
        "where": []}]]]],
   [[[{"uuid":["uuid","<0>"]},{"uuid":["uuid","<1>"]},{"uuid":["uuid","<2>"]},{"uuid":["uuid","<3>"]}]
@@ -443,10 +503,7 @@ OVSDB_CHECK_EXECUTION([referential integrity -- simple],
 
 OVSDB_CHECK_EXECUTION([referential integrity -- mutual references],
   [CONSTRAINT_SCHEMA],
-  [[[[{"op": "declare",
-       "uuid-name": "row1"},
-      {"op": "declare",
-       "uuid-name": "row2"},
+  [[[["constraints",
       {"op": "insert",
        "table": "a",
        "row": {"a": 0,
@@ -459,29 +516,35 @@ OVSDB_CHECK_EXECUTION([referential integrity -- mutual references],
                "b2b": ["set", [["named-uuid", "row2"]]],
                "b2a": ["set", [["named-uuid", "row1"]]]},
        "uuid-name": "row2"}]]],
-   [[[{"op": "insert",
+   [[["constraints",
+      {"op": "insert",
        "table": "a",
        "row": {"a2b": ["set", [["uuid", "b516b960-5b19-4fc2-bb82-fe1cbd6d0241"]]]}}]]],
-   [[[{"op": "delete",
+   [[["constraints",
+      {"op": "delete",
        "table": "a",
        "where": [["a", "==", 0]]}]]],
-   [[[{"op": "delete",
+   [[["constraints",
+      {"op": "delete",
        "table": "b",
        "where": [["b", "==", 1]]}]]],
    dnl Try the deletions again to make sure that the refcounts got rolled back.
-   [[[{"op": "delete",
+   [[["constraints",
+      {"op": "delete",
        "table": "a",
        "where": [["a", "==", 0]]}]]],
-   [[[{"op": "delete",
+   [[["constraints",
+      {"op": "delete",
        "table": "b",
        "where": [["b", "==", 1]]}]]],
-   [[[{"op": "delete",
+   [[["constraints",
+      {"op": "delete",
        "table": "a",
        "where": [["a", "==", 0]]},
       {"op": "delete",
        "table": "b",
        "where": [["b", "==", 1]]}]]]],
-  [[[{"uuid":["uuid","<0>"]},{"uuid":["uuid","<1>"]},{"uuid":["uuid","<0>"]},{"uuid":["uuid","<1>"]}]
+  [[[{"uuid":["uuid","<0>"]},{"uuid":["uuid","<1>"]}]
 [{"uuid":["uuid","<2>"]},{"details":"reference to nonexistent row <3>","error":"referential integrity violation"}]
 [{"count":1},{"details":"cannot delete a row <0> because of 1 remaining reference(s)","error":"referential integrity violation"}]
 [{"count":1},{"details":"cannot delete b row <1> because of 1 remaining reference(s)","error":"referential integrity violation"}]