All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] openvswitch: remove unused patches
@ 2018-06-05 13:47 Mark Asselstine
  0 siblings, 0 replies; only message in thread
From: Mark Asselstine @ 2018-06-05 13:47 UTC (permalink / raw)
  To: meta-virtualization, bruce.ashfield

commit 1fd1ff372014 [openvswitch: uprev to v2.9.2] left a bunch of
unused patches in place. Remove unreferenced patches as they are no
longer needed.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
---
 ...n3-compatibility-Convert-print-statements.patch | 1262 --------------------
 ...-the-linux-if_packet.h-Interface-directly.patch |   33 -
 ...2-Python3-compatibility-exception-cleanup.patch |   77 --
 ...03-Python3-compatibility-execfile-to-exec.patch |   31 -
 ...-Python3-compatibility-iteritems-to-items.patch |  100 --
 ...ython3-compatibility-fix-integer-problems.patch |   49 -
 ...n3-compatibility-math-error-compatibility.patch |   54 -
 ...0007-Python3-compatibility-unicode-to-str.patch |   49 -
 .../0008-AUTHORS-Add-Jason-Wessel.patch            |   26 -
 ...-b8dcfbebee9e7dbc74ec5eecc9b45d335d6150c1.patch |  108 --
 10 files changed, 1789 deletions(-)
 delete mode 100644 recipes-networking/openvswitch/openvswitch-git/0001-Python3-compatibility-Convert-print-statements.patch
 delete mode 100644 recipes-networking/openvswitch/openvswitch-git/0001-use-the-linux-if_packet.h-Interface-directly.patch
 delete mode 100644 recipes-networking/openvswitch/openvswitch-git/0002-Python3-compatibility-exception-cleanup.patch
 delete mode 100644 recipes-networking/openvswitch/openvswitch-git/0003-Python3-compatibility-execfile-to-exec.patch
 delete mode 100644 recipes-networking/openvswitch/openvswitch-git/0004-Python3-compatibility-iteritems-to-items.patch
 delete mode 100644 recipes-networking/openvswitch/openvswitch-git/0005-Python3-compatibility-fix-integer-problems.patch
 delete mode 100644 recipes-networking/openvswitch/openvswitch-git/0006-Python3-compatibility-math-error-compatibility.patch
 delete mode 100644 recipes-networking/openvswitch/openvswitch-git/0007-Python3-compatibility-unicode-to-str.patch
 delete mode 100644 recipes-networking/openvswitch/openvswitch-git/0008-AUTHORS-Add-Jason-Wessel.patch
 delete mode 100644 recipes-networking/openvswitch/openvswitch-git/openvswitch-add-ptest-b8dcfbebee9e7dbc74ec5eecc9b45d335d6150c1.patch

diff --git a/recipes-networking/openvswitch/openvswitch-git/0001-Python3-compatibility-Convert-print-statements.patch b/recipes-networking/openvswitch/openvswitch-git/0001-Python3-compatibility-Convert-print-statements.patch
deleted file mode 100644
index 7bdcc00..0000000
--- a/recipes-networking/openvswitch/openvswitch-git/0001-Python3-compatibility-Convert-print-statements.patch
+++ /dev/null
@@ -1,1262 +0,0 @@
-From 3658d861c3c83caab9040bec04b195be3f86d4ce Mon Sep 17 00:00:00 2001
-From: Jason Wessel <jason.wessel@windriver.com>
-Date: Thu, 29 Jun 2017 20:33:23 -0700
-Subject: [PATCH] Python3 compatibility: Convert print statements
-
-Commit d34a1cc02536f9a812517a71accec3fbd3c6c98b from
-https://github.com/openvswitch/ovs.git
-
-This patch fixes up all the print statements to work with python3 or
-python2.
-
-Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
-Signed-off-by: Ben Pfaff <blp@ovn.org>
-
----
- build-aux/check-structs       |   4 +-
- build-aux/extract-ofp-actions |  68 +++---
- build-aux/extract-ofp-errors  |   2 +-
- build-aux/extract-ofp-fields  |   2 +-
- build-aux/extract-ofp-msgs    |   6 +-
- ovsdb/ovsdb-doc               |   6 +-
- ovsdb/ovsdb-idlc.in           | 523 +++++++++++++++++++++---------------------
- 7 files changed, 306 insertions(+), 305 deletions(-)
-
-diff --git a/build-aux/check-structs b/build-aux/check-structs
-index 5129b72..cbb19b6 100755
---- a/build-aux/check-structs
-+++ b/build-aux/check-structs
-@@ -211,7 +211,7 @@ def checkStructs():
- 
-     if '--help' in sys.argv:
-         argv0 = os.path.basename(sys.argv[0])
--        print '''\
-+        print('''\
- %(argv0)s, for checking struct and struct member alignment
- usage: %(argv0)s -Ipath HEADER [HEADER]...
- 
-@@ -226,7 +226,7 @@ assertions using OFP_ASSERT.
- 
- This program is specialized for reading Open vSwitch's OpenFlow header
- files.  It will not work on arbitrary header files without extensions.\
--''' % {"argv0": argv0}
-+''' % {"argv0": argv0})
-         sys.exit(0)
- 
-     global fileName
-diff --git a/build-aux/extract-ofp-actions b/build-aux/extract-ofp-actions
-index ee8c4ff..67e3848 100755
---- a/build-aux/extract-ofp-actions
-+++ b/build-aux/extract-ofp-actions
-@@ -67,7 +67,7 @@ def fatal(msg):
- 
- def usage():
-     argv0 = os.path.basename(sys.argv[0])
--    print ('''\
-+    print('''\
- %(argv0)s, for extracting OpenFlow action data
- usage: %(argv0)s OFP_ACTIONS.C [--prototypes | --definitions]
- 
-@@ -238,36 +238,36 @@ def extract_ofp_actions(fn, definitions):
-     if n_errors:
-         sys.exit(1)
- 
--    print """\
-+    print("""\
- /* Generated automatically; do not modify!     -*- buffer-read-only: t -*- */
--"""
-+""")
- 
-     if definitions:
--        print "/* Verify that structs used as actions are reasonable sizes. */"
-+        print("/* Verify that structs used as actions are reasonable sizes. */")
-         for s in sorted(arg_structs):
--            print "BUILD_ASSERT_DECL(sizeof(%s) %% OFP_ACTION_ALIGN == 0);" % s
-+            print("BUILD_ASSERT_DECL(sizeof(%s) %% OFP_ACTION_ALIGN == 0);" % s)
- 
--        print "\nstatic struct ofpact_raw_instance all_raw_instances[] = {"
-+        print("\nstatic struct ofpact_raw_instance all_raw_instances[] = {")
-         for vendor in domain:
-             for type_ in domain[vendor]:
-                 for version in domain[vendor][type_]:
-                     d = domain[vendor][type_][version]
--                    print "    { { 0x%08x, %2d, 0x%02x }, " % (
--                        vendor, type_, version)
--                    print "      %s," % d["enum"]
--                    print "      HMAP_NODE_NULL_INITIALIZER,"
--                    print "      HMAP_NODE_NULL_INITIALIZER,"
--                    print "      %s," % d["min_length"]
--                    print "      %s," % d["max_length"]
--                    print "      %s," % d["arg_ofs"]
--                    print "      %s," % d["arg_len"]
--                    print "      \"%s\"," % re.sub('_RAW[0-9]*', '', d["enum"], 1)
-+                    print("    { { 0x%08x, %2d, 0x%02x }, " % (
-+                        vendor, type_, version))
-+                    print("      %s," % d["enum"])
-+                    print("      HMAP_NODE_NULL_INITIALIZER,")
-+                    print("      HMAP_NODE_NULL_INITIALIZER,")
-+                    print("      %s," % d["min_length"])
-+                    print("      %s," % d["max_length"])
-+                    print("      %s," % d["arg_ofs"])
-+                    print("      %s," % d["arg_len"])
-+                    print("      \"%s\"," % re.sub('_RAW[0-9]*', '', d["enum"], 1))
-                     if d["deprecation"]:
--                        print "      \"%s\"," % re.sub(r'(["\\])', r'\\\1', d["deprecation"])
-+                        print("      \"%s\"," % re.sub(r'(["\\])', r'\\\1', d["deprecation"]))
-                     else:
--                        print "      NULL,"
--                    print "    },"
--        print "};";
-+                        print("      NULL,")
-+                    print("    },")
-+        print("};")
- 
-     for versions in enums.values():
-         need_ofp_version = False
-@@ -314,11 +314,11 @@ def extract_ofp_actions(fn, definitions):
-             decl += "}"
-         else:
-             decl += ";"
--        print decl
--        print
-+        print(decl)
-+        print("")
- 
-     if definitions:
--        print """\
-+        print("""\
- static enum ofperr
- ofpact_decode(const struct ofp_action_header *a, enum ofp_raw_action_type raw,
-               enum ofp_version version, uint64_t arg,
-@@ -326,14 +326,14 @@ ofpact_decode(const struct ofp_action_header *a, enum ofp_raw_action_type raw,
-               uint64_t *tlv_bitmap, struct ofpbuf *out)
- {
-     switch (raw) {\
--"""
-+""")
-         for versions in enums.values():
-             enum = versions[0]["enum"]
--            print "    case %s:" % enum
-+            print("    case %s:" % enum)
-             base_argtype = versions[0]["base_argtype"]
-             arg_vl_mff_map = versions[0]["arg_vl_mff_map"]
-             if base_argtype == 'void':
--                print "        return decode_%s(out);" % enum
-+                print("        return decode_%s(out);" % enum)
-             else:
-                 if base_argtype.startswith('struct'):
-                     arg = "ALIGNED_CAST(const %s *, a)" % base_argtype
-@@ -344,16 +344,16 @@ ofpact_decode(const struct ofp_action_header *a, enum ofp_raw_action_type raw,
-                     else:
-                         arg = "arg"
-                 if arg_vl_mff_map:
--                    print "        return decode_%s(%s, version, vl_mff_map, tlv_bitmap, out);" % (enum, arg)
-+                    print("        return decode_%s(%s, version, vl_mff_map, tlv_bitmap, out);" % (enum, arg))
-                 else:
--                    print "        return decode_%s(%s, version, out);" % (enum, arg)
--            print
--        print """\
-+                    print("        return decode_%s(%s, version, out);" % (enum, arg))
-+            print("")
-+        print("""\
-     default:
-         OVS_NOT_REACHED();
-     }
- }\
--"""
-+""")
-     else:
-         for versions in enums.values():
-             enum = versions[0]["enum"]
-@@ -368,15 +368,15 @@ ofpact_decode(const struct ofp_action_header *a, enum ofp_raw_action_type raw,
-                 if arg_vl_mff_map:
-                     prototype += 'const struct vl_mff_map *, uint64_t *, '
-             prototype += "struct ofpbuf *);"
--            print prototype
-+            print(prototype)
- 
--        print """
-+        print("""
- static enum ofperr ofpact_decode(const struct ofp_action_header *,
-                                  enum ofp_raw_action_type raw,
-                                  enum ofp_version version,
-                                  uint64_t arg, const struct vl_mff_map *vl_mff_map,
-                                  uint64_t *tlv_bitmap, struct ofpbuf *out);
--"""
-+""")
- 
- if __name__ == '__main__':
-     if '--help' in sys.argv:
-diff --git a/build-aux/extract-ofp-errors b/build-aux/extract-ofp-errors
-index e36444e..97d62d2 100755
---- a/build-aux/extract-ofp-errors
-+++ b/build-aux/extract-ofp-errors
-@@ -426,7 +426,7 @@ static const struct ofperr_domain %s = {
-                 vendor, type_, code = map[enum]
-                 if code == None:
-                     code = -1
--                print "        { %#8x, %2d, %3d }, /* %s */" % (vendor, type_, code, enum)
-+                print ("        { %#8x, %2d, %3d }, /* %s */" % (vendor, type_, code, enum))
-             else:
-                 print ("        {       -1, -1,  -1 }, /* %s */" % enum)
-         print ("""\
-diff --git a/build-aux/extract-ofp-fields b/build-aux/extract-ofp-fields
-index c248e76..80c7d35 100755
---- a/build-aux/extract-ofp-fields
-+++ b/build-aux/extract-ofp-fields
-@@ -728,7 +728,7 @@ def make_ovs_fields(meta_flow_h, meta_flow_xml):
- ovs\-fields \- protocol header fields in OpenFlow and Open vSwitch
- .
- .PP
--''') % version
-+''' % version)
- 
-     recursively_replace(doc, 'oxm_classes', make_oxm_classes_xml(document))
- 
-diff --git a/build-aux/extract-ofp-msgs b/build-aux/extract-ofp-msgs
-index c2a91f9..92c4bda 100755
---- a/build-aux/extract-ofp-msgs
-+++ b/build-aux/extract-ofp-msgs
-@@ -56,14 +56,14 @@ def fatal(msg):
- 
- def usage():
-     argv0 = os.path.basename(sys.argv[0])
--    print '''\
-+    print('''\
- %(argv0)s, for extracting OpenFlow message types from header files
- usage: %(argv0)s INPUT OUTPUT
-   where INPUT is the name of the input header file
-     and OUTPUT is the output file name.
- Despite OUTPUT, the output is written to stdout, and the OUTPUT argument
- only controls #line directives in the output.\
--''' % {"argv0": argv0}
-+''' % {"argv0": argv0})
-     sys.exit(0)
- 
- def make_sizeof(s):
-@@ -378,5 +378,5 @@ if __name__ == '__main__':
-         line_number = 0
- 
-         for line in extract_ofp_msgs(sys.argv[2]):
--            print line
-+            print(line)
-         
-diff --git a/ovsdb/ovsdb-doc b/ovsdb/ovsdb-doc
-index bdf2dcc..e82ad59 100755
---- a/ovsdb/ovsdb-doc
-+++ b/ovsdb/ovsdb-doc
-@@ -258,7 +258,7 @@ represent strong references; thin lines represent weak references.
-     return s
- 
- def usage():
--    print """\
-+    print("""\
- %(argv0)s: ovsdb schema documentation generator
- Prints documentation for an OVSDB schema as an nroff-formatted manpage.
- usage: %(argv0)s [OPTIONS] SCHEMA XML
-@@ -269,7 +269,7 @@ The following options are also available:
-   --er-diagram=DIAGRAM.PIC    include E-R diagram from DIAGRAM.PIC
-   --version=VERSION           use VERSION to display on document footer
-   -h, --help                  display this help message\
--""" % {'argv0': argv0}
-+""" % {'argv0': argv0})
-     sys.exit(0)
- 
- if __name__ == "__main__":
-@@ -304,7 +304,7 @@ if __name__ == "__main__":
-         for line in s.split("\n"):
-             line = line.strip()
-             if len(line):
--                print line
-+                print(line)
- 
-     except error.Error, e:
-         sys.stderr.write("%s: %s\n" % (argv0, e.msg))
-diff --git a/ovsdb/ovsdb-idlc.in b/ovsdb/ovsdb-idlc.in
-index bfbcf23..62442ee 100755
---- a/ovsdb/ovsdb-idlc.in
-+++ b/ovsdb/ovsdb-idlc.in
-@@ -1,5 +1,6 @@
- #! /usr/bin/env @PYTHON@
- 
-+from __future__ import print_function
- import getopt
- import os
- import re
-@@ -123,7 +124,7 @@ def sorted_columns(table):
- def printCIDLHeader(schemaFile):
-     schema = parseSchema(schemaFile)
-     prefix = schema.idlPrefix
--    print '''\
-+    print('''\
- /* Generated automatically -- do not modify!    -*- buffer-read-only: t -*- */
- 
- #ifndef %(prefix)sIDL_HEADER
-@@ -135,39 +136,39 @@ def printCIDLHeader(schemaFile):
- #include "ovsdb-data.h"
- #include "ovsdb-idl-provider.h"
- #include "smap.h"
--#include "uuid.h"''' % {'prefix': prefix.upper()}
-+#include "uuid.h"''' % {'prefix': prefix.upper()})
- 
-     for tableName, table in sorted(schema.tables.iteritems()):
-         structName = "%s%s" % (prefix, tableName.lower())
- 
--        print "\f"
--        print "/* %s table. */" % tableName
--        print "struct %s {" % structName
--        print "\tstruct ovsdb_idl_row header_;"
-+        print("\f")
-+        print("/* %s table. */" % tableName)
-+        print("struct %s {" % structName)
-+        print("\tstruct ovsdb_idl_row header_;")
-         for columnName, column in sorted_columns(table):
--            print "\n\t/* %s column. */" % columnName
-+            print("\n\t/* %s column. */" % columnName)
-             comment, members = cMembers(prefix, tableName,
-                                         columnName, column, False)
-             for member in members:
--                print "\t%(type)s%(name)s;%(comment)s" % member
--        print "};"
-+                print("\t%(type)s%(name)s;%(comment)s" % member)
-+        print("};")
- 
-         # Column indexes.
-         printEnum("%s_column_id" % structName.lower(), ["%s_COL_%s" % (structName.upper(), columnName.upper())
-                                                         for columnName, column in sorted_columns(table)]
-                   + ["%s_N_COLUMNS" % structName.upper()])
- 
--        print
-+        print("")
-         for columnName in table.columns:
--            print "#define %(s)s_col_%(c)s (%(s)s_columns[%(S)s_COL_%(C)s])" % {
-+            print("#define %(s)s_col_%(c)s (%(s)s_columns[%(S)s_COL_%(C)s])" % {
-                 's': structName,
-                 'S': structName.upper(),
-                 'c': columnName,
--                'C': columnName.upper()}
-+                'C': columnName.upper()})
- 
--        print "\nextern struct ovsdb_idl_column %s_columns[%s_N_COLUMNS];" % (structName, structName.upper())
-+        print("\nextern struct ovsdb_idl_column %s_columns[%s_N_COLUMNS];" % (structName, structName.upper()))
- 
--        print '''
-+        print('''
- const struct %(s)s *%(s)s_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
- const struct %(s)s *%(s)s_first(const struct ovsdb_idl *);
- const struct %(s)s *%(s)s_next(const struct %(s)s *);
-@@ -205,87 +206,87 @@ void %(s)s_init(struct %(s)s *);
- void %(s)s_delete(const struct %(s)s *);
- struct %(s)s *%(s)s_insert(struct ovsdb_idl_txn *);
- bool %(s)s_is_updated(const struct %(s)s *, enum %(s)s_column_id);
--''' % {'s': structName, 'S': structName.upper()}
-+''' % {'s': structName, 'S': structName.upper()})
- 
-         for columnName, column in sorted_columns(table):
--            print 'void %(s)s_verify_%(c)s(const struct %(s)s *);' % {'s': structName, 'c': columnName}
-+            print('void %(s)s_verify_%(c)s(const struct %(s)s *);' % {'s': structName, 'c': columnName})
- 
--        print
-+        print("")
-         for columnName, column in sorted_columns(table):
-             if column.type.value:
-                 valueParam = ', enum ovsdb_atomic_type value_type'
-             else:
-                 valueParam = ''
--            print 'const struct ovsdb_datum *%(s)s_get_%(c)s(const struct %(s)s *, enum ovsdb_atomic_type key_type%(v)s);' % {
--                's': structName, 'c': columnName, 'v': valueParam}
-+            print('const struct ovsdb_datum *%(s)s_get_%(c)s(const struct %(s)s *, enum ovsdb_atomic_type key_type%(v)s);' % {
-+                's': structName, 'c': columnName, 'v': valueParam})
- 
--        print
-+        print("")
-         for columnName, column in sorted_columns(table):
--            print 'void %(s)s_set_%(c)s(const struct %(s)s *,' % {'s': structName, 'c': columnName},
-+            print('void %(s)s_set_%(c)s(const struct %(s)s *,' % {'s': structName, 'c': columnName}, end=' ')
-             if column.type.is_smap():
-                 args = ['const struct smap *']
-             else:
-                 comment, members = cMembers(prefix, tableName, columnName,
-                                             column, True)
-                 args = ['%(type)s%(name)s' % member for member in members]
--            print '%s);' % ', '.join(args)
-+            print('%s);' % ', '.join(args))
- 
--        print
-+        print("")
-         for columnName, column in sorted_columns(table):
-             if column.type.is_map():
--                print 'void %(s)s_update_%(c)s_setkey(const struct %(s)s *, ' % {'s': structName, 'c': columnName},
--                print '%(coltype)s, %(valtype)s);' % {'coltype':column.type.key.to_const_c_type(prefix), 'valtype':column.type.value.to_const_c_type(prefix)}
--                print 'void %(s)s_update_%(c)s_delkey(const struct %(s)s *, ' % {'s': structName, 'c': columnName},
--                print '%(coltype)s);' % {'coltype':column.type.key.to_const_c_type(prefix)}
-+                print('void %(s)s_update_%(c)s_setkey(const struct %(s)s *, ' % {'s': structName, 'c': columnName}, end=' ')
-+                print('%(coltype)s, %(valtype)s);' % {'coltype':column.type.key.to_const_c_type(prefix), 'valtype':column.type.value.to_const_c_type(prefix)})
-+                print('void %(s)s_update_%(c)s_delkey(const struct %(s)s *, ' % {'s': structName, 'c': columnName}, end=' ')
-+                print('%(coltype)s);' % {'coltype':column.type.key.to_const_c_type(prefix)})
-             if column.type.is_set():
--                print 'void %(s)s_update_%(c)s_addvalue(const struct %(s)s *, ' % {'s': structName, 'c': columnName},
--                print '%(valtype)s);' % {'valtype':column.type.key.to_const_c_type(prefix)}
--                print 'void %(s)s_update_%(c)s_delvalue(const struct %(s)s *, ' % {'s': structName, 'c': columnName},
--                print '%(valtype)s);' % {'valtype':column.type.key.to_const_c_type(prefix)}
-+                print('void %(s)s_update_%(c)s_addvalue(const struct %(s)s *, ' % {'s': structName, 'c': columnName}, end=' ')
-+                print('%(valtype)s);' % {'valtype':column.type.key.to_const_c_type(prefix)})
-+                print('void %(s)s_update_%(c)s_delvalue(const struct %(s)s *, ' % {'s': structName, 'c': columnName}, end=' ')
-+                print('%(valtype)s);' % {'valtype':column.type.key.to_const_c_type(prefix)})
- 
--            print 'void %(s)s_add_clause_%(c)s(struct ovsdb_idl_condition *, enum ovsdb_function function,' % {'s': structName, 'c': columnName},
-+            print('void %(s)s_add_clause_%(c)s(struct ovsdb_idl_condition *, enum ovsdb_function function,' % {'s': structName, 'c': columnName}, end=' ')
-             if column.type.is_smap():
-                 args = ['const struct smap *']
-             else:
-                 comment, members = cMembers(prefix, tableName, columnName,
-                                             column, True, refTable=False)
-                 args = ['%(type)s%(name)s' % member for member in members]
--            print '%s);' % ', '.join(args)
-+            print('%s);' % ', '.join(args))
- 
--            print 'void %(s)s_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);' % {'s': structName},
-+            print('void %(s)s_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);' % {'s': structName})
- 
--        print
-+        print("")
- 
-     # Table indexes.
-     printEnum("%stable_id" % prefix.lower(), ["%sTABLE_%s" % (prefix.upper(), tableName.upper()) for tableName in sorted(schema.tables)] + ["%sN_TABLES" % prefix.upper()])
--    print
-+    print("")
-     for tableName in schema.tables:
--        print "#define %(p)stable_%(t)s (%(p)stable_classes[%(P)sTABLE_%(T)s])" % {
-+        print("#define %(p)stable_%(t)s (%(p)stable_classes[%(P)sTABLE_%(T)s])" % {
-             'p': prefix,
-             'P': prefix.upper(),
-             't': tableName.lower(),
--            'T': tableName.upper()}
--    print "\nextern struct ovsdb_idl_table_class %stable_classes[%sN_TABLES];" % (prefix, prefix.upper())
-+            'T': tableName.upper()})
-+    print("\nextern struct ovsdb_idl_table_class %stable_classes[%sN_TABLES];" % (prefix, prefix.upper()))
- 
--    print "\nextern struct ovsdb_idl_class %sidl_class;" % prefix
-+    print("\nextern struct ovsdb_idl_class %sidl_class;" % prefix)
- 
--    print "\nconst char * %sget_db_version(void);" % prefix
--    print "\n#endif /* %(prefix)sIDL_HEADER */" % {'prefix': prefix.upper()}
-+    print("\nconst char * %sget_db_version(void);" % prefix)
-+    print("\n#endif /* %(prefix)sIDL_HEADER */" % {'prefix': prefix.upper()})
- 
- def printEnum(type, members):
-     if len(members) == 0:
-         return
- 
--    print "\nenum %s {" % type
-+    print("\nenum %s {" % type)
-     for member in members[:-1]:
--        print "    %s," % member
--    print "    %s" % members[-1]
--    print "};"
-+        print("    %s," % member)
-+    print("    %s" % members[-1])
-+    print("};")
- 
- def printCIDLSource(schemaFile):
-     schema = parseSchema(schemaFile)
-     prefix = schema.idlPrefix
--    print '''\
-+    print('''\
- /* Generated automatically -- do not modify!    -*- buffer-read-only: t -*- */
- 
- #include <config.h>
-@@ -296,33 +297,33 @@ def printCIDLSource(schemaFile):
- #include "ovsdb-error.h"
- #include "util.h"
- 
--''' % schema.idlHeader
-+''' % schema.idlHeader)
- 
-     # Cast functions.
-     for tableName, table in sorted(schema.tables.iteritems()):
-         structName = "%s%s" % (prefix, tableName.lower())
--        print '''
-+        print('''
- static struct %(s)s *
- %(s)s_cast(const struct ovsdb_idl_row *row)
- {
-     return row ? CONTAINER_OF(row, struct %(s)s, header_) : NULL;
- }\
--''' % {'s': structName}
-+''' % {'s': structName})
- 
- 
-     for tableName, table in sorted(schema.tables.iteritems()):
-         structName = "%s%s" % (prefix, tableName.lower())
--        print "\f"
--        print "/* %s table. */" % (tableName)
-+        print("\f")
-+        print("/* %s table. */" % (tableName))
- 
-         # Parse functions.
-         for columnName, column in sorted_columns(table):
--            print '''
-+            print('''
- static void
- %(s)s_parse_%(c)s(struct ovsdb_idl_row *row_, const struct ovsdb_datum *datum)
- {
-     struct %(s)s *row = %(s)s_cast(row_);''' % {'s': structName,
--                                                'c': columnName}
-+                                                'c': columnName})
-             type = column.type
-             if type.value:
-                 keyVar = "row->key_%s" % columnName
-@@ -332,89 +333,89 @@ static void
-                 valueVar = None
- 
-             if type.is_smap():
--                print "    smap_init(&row->%s);" % columnName
--                print "    for (size_t i = 0; i < datum->n; i++) {"
--                print "        smap_add(&row->%s," % columnName
--                print "                 datum->keys[i].string,"
--                print "                 datum->values[i].string);"
--                print "    }"
-+                print("    smap_init(&row->%s);" % columnName)
-+                print("    for (size_t i = 0; i < datum->n; i++) {")
-+                print("        smap_add(&row->%s," % columnName)
-+                print("                 datum->keys[i].string,")
-+                print("                 datum->values[i].string);")
-+                print("    }")
-             elif (type.n_min == 1 and type.n_max == 1) or type.is_optional_pointer():
--                print
--                print "    if (datum->n >= 1) {"
-+                print("")
-+                print("    if (datum->n >= 1) {")
-                 if not type.key.ref_table:
--                    print "        %s = datum->keys[0].%s;" % (keyVar, type.key.type.to_string())
-+                    print("        %s = datum->keys[0].%s;" % (keyVar, type.key.type.to_string()))
-                 else:
--                    print "        %s = %s%s_cast(ovsdb_idl_get_row_arc(row_, &%stable_%s, &datum->keys[0].uuid));" % (keyVar, prefix, type.key.ref_table.name.lower(), prefix, type.key.ref_table.name.lower())
-+                    print("        %s = %s%s_cast(ovsdb_idl_get_row_arc(row_, &%stable_%s, &datum->keys[0].uuid));" % (keyVar, prefix, type.key.ref_table.name.lower(), prefix, type.key.ref_table.name.lower()))
- 
-                 if valueVar:
-                     if not type.value.ref_table:
--                        print "        %s = datum->values[0].%s;" % (valueVar, type.value.type.to_string())
-+                        print("        %s = datum->values[0].%s;" % (valueVar, type.value.type.to_string()))
-                     else:
--                        print "        %s = %s%s_cast(ovsdb_idl_get_row_arc(row_, &%stable_%s, &datum->values[0].uuid));" % (valueVar, prefix, type.value.ref_table.name.lower(), prefix, type.value.ref_table.name.lower())
--                print "    } else {"
--                print "        %s" % type.key.initCDefault(keyVar, type.n_min == 0)
-+                        print("        %s = %s%s_cast(ovsdb_idl_get_row_arc(row_, &%stable_%s, &datum->values[0].uuid));" % (valueVar, prefix, type.value.ref_table.name.lower(), prefix, type.value.ref_table.name.lower()))
-+                print("    } else {")
-+                print("        %s" % type.key.initCDefault(keyVar, type.n_min == 0))
-                 if valueVar:
--                    print "        %s" % type.value.initCDefault(valueVar, type.n_min == 0)
--                print "    }"
-+                    print("        %s" % type.value.initCDefault(valueVar, type.n_min == 0))
-+                print("    }")
-             else:
-                 if type.n_max != sys.maxint:
--                    print "    size_t n = MIN(%d, datum->n);" % type.n_max
-+                    print("    size_t n = MIN(%d, datum->n);" % type.n_max)
-                     nMax = "n"
-                 else:
-                     nMax = "datum->n"
--                print "    %s = NULL;" % keyVar
-+                print("    %s = NULL;" % keyVar)
-                 if valueVar:
--                    print "    %s = NULL;" % valueVar
--                print "    row->n_%s = 0;" % columnName
--                print "    for (size_t i = 0; i < %s; i++) {" % nMax
-+                    print("    %s = NULL;" % valueVar)
-+                print("    row->n_%s = 0;" % columnName)
-+                print("    for (size_t i = 0; i < %s; i++) {" % nMax)
-                 if type.key.ref_table:
--                    print """\
-+                    print("""\
-         struct %s%s *keyRow = %s%s_cast(ovsdb_idl_get_row_arc(row_, &%stable_%s, &datum->keys[i].uuid));
-         if (!keyRow) {
-             continue;
-         }\
--""" % (prefix, type.key.ref_table.name.lower(), prefix, type.key.ref_table.name.lower(), prefix, type.key.ref_table.name.lower())
-+""" % (prefix, type.key.ref_table.name.lower(), prefix, type.key.ref_table.name.lower(), prefix, type.key.ref_table.name.lower()))
-                     keySrc = "keyRow"
-                 else:
-                     keySrc = "datum->keys[i].%s" % type.key.type.to_string()
-                 if type.value and type.value.ref_table:
--                    print """\
-+                    print("""\
-         struct %s%s *valueRow = %s%s_cast(ovsdb_idl_get_row_arc(row_, &%stable_%s, &datum->values[i].uuid));
-         if (!valueRow) {
-             continue;
-         }\
--""" % (prefix, type.value.ref_table.name.lower(), prefix, type.value.ref_table.name.lower(), prefix, type.value.ref_table.name.lower())
-+""" % (prefix, type.value.ref_table.name.lower(), prefix, type.value.ref_table.name.lower(), prefix, type.value.ref_table.name.lower()))
-                     valueSrc = "valueRow"
-                 elif valueVar:
-                     valueSrc = "datum->values[i].%s" % type.value.type.to_string()
--                print "        if (!row->n_%s) {" % (columnName)
-+                print("        if (!row->n_%s) {" % (columnName))
- 
--                print "            %s = xmalloc(%s * sizeof *%s);" % (
--                    keyVar, nMax, keyVar)
-+                print("            %s = xmalloc(%s * sizeof *%s);" % (
-+                    keyVar, nMax, keyVar))
-                 if valueVar:
--                    print "            %s = xmalloc(%s * sizeof *%s);" % (
--                        valueVar, nMax, valueVar)
--                print "        }"
--                print "        %s[row->n_%s] = %s;" % (keyVar, columnName, keySrc)
-+                    print("            %s = xmalloc(%s * sizeof *%s);" % (
-+                        valueVar, nMax, valueVar))
-+                print("        }")
-+                print("        %s[row->n_%s] = %s;" % (keyVar, columnName, keySrc))
-                 if valueVar:
--                    print "        %s[row->n_%s] = %s;" % (valueVar, columnName, valueSrc)
--                print "        row->n_%s++;" % columnName
--                print "    }"
--            print "}"
-+                    print("        %s[row->n_%s] = %s;" % (valueVar, columnName, valueSrc))
-+                print("        row->n_%s++;" % columnName)
-+                print("    }")
-+            print("}")
- 
-         # Unparse functions.
-         for columnName, column in sorted_columns(table):
-             type = column.type
-             if type.is_smap() or (type.n_min != 1 or type.n_max != 1) and not type.is_optional_pointer():
--                print '''
-+                print('''
- static void
- %(s)s_unparse_%(c)s(struct ovsdb_idl_row *row_)
- {
-     struct %(s)s *row = %(s)s_cast(row_);''' % {'s': structName,
--                                                'c': columnName}
-+                                                'c': columnName})
- 
-                 if type.is_smap():
--                    print "    smap_destroy(&row->%s);" % columnName
-+                    print("    smap_destroy(&row->%s);" % columnName)
-                 else:
-                     if type.value:
-                         keyVar = "row->key_%s" % columnName
-@@ -422,45 +423,45 @@ static void
-                     else:
-                         keyVar = "row->%s" % columnName
-                         valueVar = None
--                    print "    free(%s);" % keyVar
-+                    print("    free(%s);" % keyVar)
-                     if valueVar:
--                        print "    free(%s);" % valueVar
--                print '}'
-+                        print("    free(%s);" % valueVar)
-+                print('}')
-             else:
--                print '''
-+                print('''
- static void
- %(s)s_unparse_%(c)s(struct ovsdb_idl_row *row OVS_UNUSED)
- {
-     /* Nothing to do. */
--}''' % {'s': structName, 'c': columnName}
-+}''' % {'s': structName, 'c': columnName})
- 
-         # Generic Row Initialization function.
--        print """
-+        print("""
- static void
- %(s)s_init__(struct ovsdb_idl_row *row)
- {
-     %(s)s_init(%(s)s_cast(row));
--}""" % {'s': structName}
-+}""" % {'s': structName})
- 
-         # Row Initialization function.
--        print """
-+        print("""
- /* Clears the contents of 'row' in table "%(t)s". */
- void
- %(s)s_init(struct %(s)s *row)
- {
--    memset(row, 0, sizeof *row); """ % {'s': structName, 't': tableName}
-+    memset(row, 0, sizeof *row); """ % {'s': structName, 't': tableName})
-         for columnName, column in sorted_columns(table):
-             if column.type.is_smap():
--                print "    smap_init(&row->%s);" % columnName
-+                print("    smap_init(&row->%s);" % columnName)
-             elif (column.type.n_min == 1 and
-                   column.type.n_max == 1 and
-                   column.type.key.type == ovs.db.types.StringType and
-                   not column.type.value):
--                print "    row->%s = \"\";" % columnName
--        print "}"
-+                print("    row->%s = \"\";" % columnName)
-+        print("}")
- 
-         # First, next functions.
--        print '''
-+        print('''
- /* Searches table "%(t)s" in 'idl' for a row with UUID 'uuid'.  Returns
-  * a pointer to the row if there is one, otherwise a null pointer.  */
- const struct %(s)s *
-@@ -514,9 +515,9 @@ const struct %(s)s
-         'P': prefix.upper(),
-         't': tableName,
-         'tl': tableName.lower(),
--        'T': tableName.upper()}
-+        'T': tableName.upper()})
- 
--        print '''
-+        print('''
- 
- /* Deletes 'row' from table "%(t)s".  'row' may be freed, so it must not be
-  * accessed afterward.
-@@ -550,11 +551,11 @@ bool
-         'P': prefix.upper(),
-         't': tableName,
-         'tl': tableName.lower(),
--        'T': tableName.upper()}
-+        'T': tableName.upper()})
- 
-         # Verify functions.
-         for columnName, column in sorted_columns(table):
--            print '''
-+            print('''
- /* Causes the original contents of column "%(c)s" in 'row' to be
-  * verified as a prerequisite to completing the transaction.  That is, if
-  * "%(c)s" in 'row' changed (or if 'row' was deleted) between the
-@@ -585,7 +586,7 @@ void
- }''' % {'s': structName,
-         'S': structName.upper(),
-         'c': columnName,
--        'C': columnName.upper()}
-+        'C': columnName.upper()})
- 
-         # Get functions.
-         for columnName, column in sorted_columns(table):
-@@ -597,7 +598,7 @@ void
-                 valueParam = ''
-                 valueType = ''
-                 valueComment = ''
--            print """
-+            print("""
- /* Returns the "%(c)s" column's value from the "%(t)s" table in 'row'
-  * as a struct ovsdb_datum.  This is useful occasionally: for example,
-  * ovsdb_datum_find_key() is an easier and more efficient way to search
-@@ -625,7 +626,7 @@ const struct ovsdb_datum *
-     return ovsdb_idl_read(&row->header_, &%(s)s_col_%(c)s);
- }""" % {'t': tableName, 's': structName, 'c': columnName,
-        'kt': column.type.key.toAtomicType(),
--       'v': valueParam, 'vt': valueType, 'vc': valueComment}
-+       'v': valueParam, 'vt': valueType, 'vc': valueComment})
- 
-         # Set functions.
-         for columnName, column in sorted_columns(table):
-@@ -635,8 +636,8 @@ const struct ovsdb_datum *
-                                         column, True)
- 
-             if type.is_smap():
--                print comment
--                print """void
-+                print(comment)
-+                print("""void
- %(s)s_set_%(c)s(const struct %(s)s *row, const struct smap *%(c)s)
- {
-     struct ovsdb_datum datum;
-@@ -654,7 +655,7 @@ const struct ovsdb_datum *
-        's': structName,
-        'S': structName.upper(),
-        'c': columnName,
--       'C': columnName.upper()}
-+       'C': columnName.upper()})
-                 continue
- 
-             keyVar = members[0]['name']
-@@ -668,84 +669,84 @@ const struct ovsdb_datum *
-                 if len(members) > 1:
-                     nVar = members[1]['name']
- 
--            print comment
--            print """\
-+            print(comment)
-+            print("""\
- void
- %(s)s_set_%(c)s(const struct %(s)s *row, %(args)s)
- {
-     struct ovsdb_datum datum;""" % {'s': structName,
-         'c': columnName,
-         'args': ', '.join(['%(type)s%(name)s'
--                           % m for m in members])}
-+                           % m for m in members])})
-             if type.n_min == 1 and type.n_max == 1:
--                print "    union ovsdb_atom key;"
-+                print("    union ovsdb_atom key;")
-                 if type.value:
--                    print "    union ovsdb_atom value;"
--                print
--                print "    datum.n = 1;"
--                print "    datum.keys = &key;"
--                print "    " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), keyVar)
-+                    print("    union ovsdb_atom value;")
-+                print("")
-+                print("    datum.n = 1;")
-+                print("    datum.keys = &key;")
-+                print("    " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), keyVar))
-                 if type.value:
--                    print "    datum.values = &value;"
--                    print "    "+ type.value.assign_c_value_casting_away_const("value.%s" % type.value.type.to_string(), valueVar)
-+                    print("    datum.values = &value;")
-+                    print("    "+ type.value.assign_c_value_casting_away_const("value.%s" % type.value.type.to_string(), valueVar))
-                 else:
--                    print "    datum.values = NULL;"
-+                    print("    datum.values = NULL;")
-                 txn_write_func = "ovsdb_idl_txn_write_clone"
-             elif type.is_optional_pointer():
--                print "    union ovsdb_atom key;"
--                print
--                print "    if (%s) {" % keyVar
--                print "        datum.n = 1;"
--                print "        datum.keys = &key;"
--                print "        " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), keyVar)
--                print "    } else {"
--                print "        datum.n = 0;"
--                print "        datum.keys = NULL;"
--                print "    }"
--                print "    datum.values = NULL;"
-+                print("    union ovsdb_atom key;")
-+                print("")
-+                print("    if (%s) {" % keyVar)
-+                print("        datum.n = 1;")
-+                print("        datum.keys = &key;")
-+                print("        " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), keyVar))
-+                print("    } else {")
-+                print("        datum.n = 0;")
-+                print("        datum.keys = NULL;")
-+                print("    }")
-+                print("    datum.values = NULL;")
-                 txn_write_func = "ovsdb_idl_txn_write_clone"
-             elif type.n_max == 1:
--                print "    union ovsdb_atom key;"
--                print
--                print "    if (%s) {" % nVar
--                print "        datum.n = 1;"
--                print "        datum.keys = &key;"
--                print "        " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), "*" + keyVar)
--                print "    } else {"
--                print "        datum.n = 0;"
--                print "        datum.keys = NULL;"
--                print "    }"
--                print "    datum.values = NULL;"
-+                print("    union ovsdb_atom key;")
-+                print("")
-+                print("    if (%s) {" % nVar)
-+                print("        datum.n = 1;")
-+                print("        datum.keys = &key;")
-+                print("        " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), "*" + keyVar))
-+                print("    } else {")
-+                print("        datum.n = 0;")
-+                print("        datum.keys = NULL;")
-+                print("    }")
-+                print("    datum.values = NULL;")
-                 txn_write_func = "ovsdb_idl_txn_write_clone"
-             else:
--                print
--                print "    datum.n = %s;" % nVar
--                print "    datum.keys = %s ? xmalloc(%s * sizeof *datum.keys) : NULL;" % (nVar, nVar)
-+                print("")
-+                print("    datum.n = %s;" % nVar)
-+                print("    datum.keys = %s ? xmalloc(%s * sizeof *datum.keys) : NULL;" % (nVar, nVar))
-                 if type.value:
--                    print "    datum.values = xmalloc(%s * sizeof *datum.values);" % nVar
-+                    print("    datum.values = xmalloc(%s * sizeof *datum.values);" % nVar)
-                 else:
--                    print "    datum.values = NULL;"
--                print "    for (size_t i = 0; i < %s; i++) {" % nVar
--                print "        " + type.key.copyCValue("datum.keys[i].%s" % type.key.type.to_string(), "%s[i]" % keyVar)
-+                    print("    datum.values = NULL;")
-+                print("    for (size_t i = 0; i < %s; i++) {" % nVar)
-+                print("        " + type.key.copyCValue("datum.keys[i].%s" % type.key.type.to_string(), "%s[i]" % keyVar))
-                 if type.value:
--                    print "        " + type.value.copyCValue("datum.values[i].%s" % type.value.type.to_string(), "%s[i]" % valueVar)
--                print "    }"
-+                    print("        " + type.value.copyCValue("datum.values[i].%s" % type.value.type.to_string(), "%s[i]" % valueVar))
-+                print("    }")
-                 if type.value:
-                     valueType = type.value.toAtomicType()
-                 else:
-                     valueType = "OVSDB_TYPE_VOID"
-                 txn_write_func = "ovsdb_idl_txn_write"
--            print "    %(f)s(&row->header_, &%(s)s_col_%(c)s, &datum);" \
-+            print("    %(f)s(&row->header_, &%(s)s_col_%(c)s, &datum);" \
-                 % {'f': txn_write_func,
-                    's': structName,
-                    'S': structName.upper(),
--                   'c': columnName}
--            print "}"
-+                   'c': columnName})
-+            print("}")
-         # Update/Delete of partial map column functions
-         for columnName, column in sorted_columns(table):
-             type = column.type
-             if type.is_map():
--                print '''
-+                print('''
- /* Sets an element of the "%(c)s" map column from the "%(t)s" table in 'row'
-  * to 'new_value' given the key value 'new_key'.
-  *
-@@ -761,17 +762,17 @@ void
-     datum->values = xmalloc(datum->n * sizeof *datum->values);
- ''' % {'s': structName, 'c': columnName,'coltype':column.type.key.to_const_c_type(prefix),
-         'valtype':column.type.value.to_const_c_type(prefix), 'S': structName.upper(),
--        'C': columnName.upper(), 't': tableName}
-+        'C': columnName.upper(), 't': tableName})
- 
--                print "    "+ type.key.copyCValue("datum->keys[0].%s" % type.key.type.to_string(), "new_key")
--                print "    "+ type.value.copyCValue("datum->values[0].%s" % type.value.type.to_string(), "new_value")
--                print '''
-+                print("    "+ type.key.copyCValue("datum->keys[0].%s" % type.key.type.to_string(), "new_key"))
-+                print("    "+ type.value.copyCValue("datum->values[0].%s" % type.value.type.to_string(), "new_value"))
-+                print('''
-     ovsdb_idl_txn_write_partial_map(&row->header_,
-                                     &%(s)s_col_%(c)s,
-                                     datum);
- }''' % {'s': structName, 'c': columnName,'coltype':column.type.key.toCType(prefix),
--        'valtype':column.type.value.to_const_c_type(prefix), 'S': structName.upper()}
--                print '''
-+        'valtype':column.type.value.to_const_c_type(prefix), 'S': structName.upper()})
-+                print('''
- /* Deletes an element of the "%(c)s" map column from the "%(t)s" table in 'row'
-  * given the key value 'delete_key'.
-  *
-@@ -787,19 +788,19 @@ void
-     datum->values = NULL;
- ''' % {'s': structName, 'c': columnName,'coltype':column.type.key.to_const_c_type(prefix),
-         'valtype':column.type.value.to_const_c_type(prefix), 'S': structName.upper(),
--        'C': columnName.upper(), 't': tableName}
-+        'C': columnName.upper(), 't': tableName})
- 
--                print "    "+ type.key.copyCValue("datum->keys[0].%s" % type.key.type.to_string(), "delete_key")
--                print '''
-+                print("    "+ type.key.copyCValue("datum->keys[0].%s" % type.key.type.to_string(), "delete_key"))
-+                print('''
-     ovsdb_idl_txn_delete_partial_map(&row->header_,
-                                     &%(s)s_col_%(c)s,
-                                     datum);
- }''' % {'s': structName, 'c': columnName,'coltype':column.type.key.toCType(prefix),
--        'valtype':column.type.value.to_const_c_type(prefix), 'S': structName.upper()}
-+        'valtype':column.type.value.to_const_c_type(prefix), 'S': structName.upper()})
-         # End Update/Delete of partial maps
-         # Update/Delete of partial set column functions
-             if type.is_set():
--                print '''
-+                print('''
- /* Adds the value 'new_value' to the "%(c)s" set column from the "%(t)s" table
-  * in 'row'.
-  *
-@@ -814,16 +815,16 @@ void
-     datum->keys = xmalloc(datum->n * sizeof *datum->values);
-     datum->values = NULL;
- ''' % {'s': structName, 'c': columnName,
--        'valtype':column.type.key.to_const_c_type(prefix), 't': tableName}
-+        'valtype':column.type.key.to_const_c_type(prefix), 't': tableName})
- 
--                print "    "+ type.key.copyCValue("datum->keys[0].%s" % type.key.type.to_string(), "new_value")
--                print '''
-+                print("    "+ type.key.copyCValue("datum->keys[0].%s" % type.key.type.to_string(), "new_value"))
-+                print('''
-     ovsdb_idl_txn_write_partial_set(&row->header_,
-                                     &%(s)s_col_%(c)s,
-                                     datum);
- }''' % {'s': structName, 'c': columnName,'coltype':column.type.key.toCType(prefix),
--        'valtype':column.type.key.to_const_c_type(prefix), 'S': structName.upper()}
--                print '''
-+        'valtype':column.type.key.to_const_c_type(prefix), 'S': structName.upper()})
-+                print('''
- /* Deletes the value 'delete_value' from the "%(c)s" set column from the
-  * "%(t)s" table in 'row'.
-  *
-@@ -839,15 +840,15 @@ void
-     datum->values = NULL;
- ''' % {'s': structName, 'c': columnName,'coltype':column.type.key.to_const_c_type(prefix),
-         'valtype':column.type.key.to_const_c_type(prefix), 'S': structName.upper(),
--        'C': columnName.upper(), 't': tableName}
-+        'C': columnName.upper(), 't': tableName})
- 
--                print "    "+ type.key.copyCValue("datum->keys[0].%s" % type.key.type.to_string(), "delete_value")
--                print '''
-+                print("    "+ type.key.copyCValue("datum->keys[0].%s" % type.key.type.to_string(), "delete_value"))
-+                print('''
-     ovsdb_idl_txn_delete_partial_set(&row->header_,
-                                     &%(s)s_col_%(c)s,
-                                     datum);
- }''' % {'s': structName, 'c': columnName,'coltype':column.type.key.toCType(prefix),
--        'valtype':column.type.key.to_const_c_type(prefix), 'S': structName.upper()}
-+        'valtype':column.type.key.to_const_c_type(prefix), 'S': structName.upper()})
-         # End Update/Delete of partial set
- 
-         # Add clause functions.
-@@ -858,8 +859,8 @@ void
-                                         column, True, refTable=False)
- 
-             if type.is_smap():
--                print comment
--                print """void
-+                print(comment)
-+                print("""void
- %(s)s_add_clause_%(c)s(struct ovsdb_idl_condition *cond, enum ovsdb_function function, const struct smap *%(c)s)
- {
-     struct ovsdb_datum datum;
-@@ -884,7 +885,7 @@ void
-        'P': prefix.upper(),
-        's': structName,
-        'S': structName.upper(),
--       'c': columnName}
-+       'c': columnName})
-                 continue
- 
-             keyVar = members[0]['name']
-@@ -898,73 +899,73 @@ void
-                 if len(members) > 1:
-                     nVar = members[1]['name']
- 
--            print comment
--            print 'void'
--            print '%(s)s_add_clause_%(c)s(struct ovsdb_idl_condition *cond, enum ovsdb_function function, %(args)s)' % \
-+            print(comment)
-+            print('void')
-+            print('%(s)s_add_clause_%(c)s(struct ovsdb_idl_condition *cond, enum ovsdb_function function, %(args)s)' % \
-                 {'s': structName, 'c': columnName,
--                 'args': ', '.join(['%(type)s%(name)s' % m for m in members])}
--            print "{"
--            print "    struct ovsdb_datum datum;"
-+                 'args': ', '.join(['%(type)s%(name)s' % m for m in members])})
-+            print("{")
-+            print("    struct ovsdb_datum datum;")
-             free = []
-             if type.n_min == 1 and type.n_max == 1:
--                print "    union ovsdb_atom key;"
-+                print("    union ovsdb_atom key;")
-                 if type.value:
--                    print "    union ovsdb_atom value;"
--                print
--                print "    datum.n = 1;"
--                print "    datum.keys = &key;"
--                print "    " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), keyVar, refTable=False)
-+                    print("    union ovsdb_atom value;")
-+                print("")
-+                print("    datum.n = 1;")
-+                print("    datum.keys = &key;")
-+                print("    " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), keyVar, refTable=False))
-                 if type.value:
--                    print "    datum.values = &value;"
--                    print "    "+ type.value.assign_c_value_casting_away_const("value.%s" % type.value.type.to_string(), valueVar, refTable=False)
-+                    print("    datum.values = &value;")
-+                    print("    "+ type.value.assign_c_value_casting_away_const("value.%s" % type.value.type.to_string(), valueVar, refTable=False))
-                 else:
--                    print "    datum.values = NULL;"
-+                    print("    datum.values = NULL;")
-             elif type.is_optional_pointer():
--                print "    union ovsdb_atom key;"
--                print
--                print "    if (%s) {" % keyVar
--                print "        datum.n = 1;"
--                print "        datum.keys = &key;"
--                print "        " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), keyVar, refTable=False)
--                print "    } else {"
--                print "        datum.n = 0;"
--                print "        datum.keys = NULL;"
--                print "    }"
--                print "    datum.values = NULL;"
-+                print("    union ovsdb_atom key;")
-+                print("")
-+                print("    if (%s) {" % keyVar)
-+                print("        datum.n = 1;")
-+                print("        datum.keys = &key;")
-+                print("        " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), keyVar, refTable=False))
-+                print("    } else {")
-+                print("        datum.n = 0;")
-+                print("        datum.keys = NULL;")
-+                print("    }")
-+                print("    datum.values = NULL;")
-             elif type.n_max == 1:
--                print "    union ovsdb_atom key;"
--                print
--                print "    if (%s) {" % nVar
--                print "        datum.n = 1;"
--                print "        datum.keys = &key;"
--                print "        " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), "*" + keyVar, refTable=False)
--                print "    } else {"
--                print "        datum.n = 0;"
--                print "        datum.keys = NULL;"
--                print "    }"
--                print "    datum.values = NULL;"
-+                print("    union ovsdb_atom key;")
-+                print("")
-+                print("    if (%s) {" % nVar)
-+                print("        datum.n = 1;")
-+                print("        datum.keys = &key;")
-+                print("        " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), "*" + keyVar, refTable=False))
-+                print("    } else {")
-+                print("        datum.n = 0;")
-+                print("        datum.keys = NULL;")
-+                print("    }")
-+                print("    datum.values = NULL;")
-             else:
--                print "    datum.n = %s;" % nVar
--                print "    datum.keys = %s ? xmalloc(%s * sizeof *datum.keys) : NULL;" % (nVar, nVar)
-+                print("    datum.n = %s;" % nVar)
-+                print("    datum.keys = %s ? xmalloc(%s * sizeof *datum.keys) : NULL;" % (nVar, nVar))
-                 free += ['datum.keys']
-                 if type.value:
--                    print "    datum.values = xmalloc(%s * sizeof *datum.values);" % nVar
-+                    print("    datum.values = xmalloc(%s * sizeof *datum.values);" % nVar)
-                     free += ['datum.values']
-                 else:
--                    print "    datum.values = NULL;"
--                print "    for (size_t i = 0; i < %s; i++) {" % nVar
--                print "        " + type.key.assign_c_value_casting_away_const("datum.keys[i].%s" % type.key.type.to_string(), "%s[i]" % keyVar, refTable=False)
-+                    print("    datum.values = NULL;")
-+                print("    for (size_t i = 0; i < %s; i++) {" % nVar)
-+                print("        " + type.key.assign_c_value_casting_away_const("datum.keys[i].%s" % type.key.type.to_string(), "%s[i]" % keyVar, refTable=False))
-                 if type.value:
--                    print "        " + type.value.assign_c_value_casting_away_const("datum.values[i].%s" % type.value.type.to_string(), "%s[i]" % valueVar, refTable=False)
--                print "    }"
-+                    print("        " + type.value.assign_c_value_casting_away_const("datum.values[i].%s" % type.value.type.to_string(), "%s[i]" % valueVar, refTable=False))
-+                print("    }")
-                 if type.value:
-                     valueType = type.value.toAtomicType()
-                 else:
-                     valueType = "OVSDB_TYPE_VOID"
--                print "    ovsdb_datum_sort_unique(&datum, %s, %s);" % (
--                    type.key.toAtomicType(), valueType)
-+                print("    ovsdb_datum_sort_unique(&datum, %s, %s);" % (
-+                    type.key.toAtomicType(), valueType))
- 
--            print"""    ovsdb_idl_condition_add_clause(cond,
-+            print("""    ovsdb_idl_condition_add_clause(cond,
-                           function,
-                           &%(s)s_col_%(c)s,
-                           &datum);\
-@@ -974,28 +975,28 @@ void
-        'P': prefix.upper(),
-        's': structName,
-        'S': structName.upper(),
--       'c': columnName}
-+       'c': columnName})
-             for var in free:
--                print "    free(%s);" % var
--            print "}"
-+                print("    free(%s);" % var)
-+            print("}")
- 
--        print """
-+        print("""
- void
- %(s)s_set_condition(struct ovsdb_idl *idl, struct ovsdb_idl_condition *condition)
- {
-     ovsdb_idl_set_condition(idl, &%(p)stable_%(tl)s, condition);
- }""" % {'p': prefix,
-         's': structName,
--        'tl': tableName.lower()}
-+        'tl': tableName.lower()})
- 
-         # Table columns.
-         for columnName, column in sorted_columns(table):
-             prereqs = []
-             x = column.type.cInitType("%s_col_%s" % (tableName, columnName), prereqs)
-             if prereqs:
--                print '\n'.join(prereqs)
--        print "\nstruct ovsdb_idl_column %s_columns[%s_N_COLUMNS] = {" % (
--            structName, structName.upper())
-+                print('\n'.join(prereqs))
-+        print("\nstruct ovsdb_idl_column %s_columns[%s_N_COLUMNS] = {" % (
-+            structName, structName.upper()))
-         for columnName, column in sorted_columns(table):
-             if column.mutable:
-                 mutable = "true"
-@@ -1003,7 +1004,7 @@ void
-                 mutable = "false"
-             type_init = '\n'.join("            " + x
-                                   for x in column.type.cInitType("%s_col_%s" % (tableName, columnName), prereqs))
--            print """\
-+            print("""\
-     [%(P)s%(T)s_COL_%(C)s] = {
-          .name = "%(c)s",
-          .type = {
-@@ -1018,38 +1019,38 @@ void
-                'C': columnName.upper(),
-                's': structName,
-                'mutable': mutable,
--               'type': type_init}
--        print "};"
-+               'type': type_init})
-+        print("};")
- 
-     # Table classes.
--    print "\f"
--    print "struct ovsdb_idl_table_class %stable_classes[%sN_TABLES] = {" % (prefix, prefix.upper())
-+    print("\f")
-+    print("struct ovsdb_idl_table_class %stable_classes[%sN_TABLES] = {" % (prefix, prefix.upper()))
-     for tableName, table in sorted(schema.tables.iteritems()):
-         structName = "%s%s" % (prefix, tableName.lower())
-         if table.is_root:
-             is_root = "true"
-         else:
-             is_root = "false"
--        print "    {\"%s\", %s," % (tableName, is_root)
--        print "     %s_columns, ARRAY_SIZE(%s_columns)," % (
--            structName, structName)
--        print "     sizeof(struct %s), %s_init__}," % (structName, structName)
--    print "};"
-+        print("    {\"%s\", %s," % (tableName, is_root))
-+        print("     %s_columns, ARRAY_SIZE(%s_columns)," % (
-+            structName, structName))
-+        print("     sizeof(struct %s), %s_init__}," % (structName, structName))
-+    print("};")
- 
-     # IDL class.
--    print "\nstruct ovsdb_idl_class %sidl_class = {" % prefix
--    print "    \"%s\", %stable_classes, ARRAY_SIZE(%stable_classes)" % (
--        schema.name, prefix, prefix)
--    print "};"
-+    print("\nstruct ovsdb_idl_class %sidl_class = {" % prefix)
-+    print("    \"%s\", %stable_classes, ARRAY_SIZE(%stable_classes)" % (
-+        schema.name, prefix, prefix))
-+    print("};")
- 
--    print """
-+    print("""
- /* Return the schema version.  The caller must not free the returned value. */
- const char *
- %sget_db_version(void)
- {
-     return "%s";
- }
--""" % (prefix, schema.version)
-+""" % (prefix, schema.version))
- 
- 
- 
-@@ -1075,7 +1076,7 @@ def ovsdb_escape(string):
-     return re.sub(r'["\\\000-\037]', escape, string)
- 
- def usage():
--    print """\
-+    print("""\
- %(argv0)s: ovsdb schema compiler
- usage: %(argv0)s [OPTIONS] COMMAND ARG...
- 
-@@ -1087,7 +1088,7 @@ The following commands are supported:
- The following options are also available:
-   -h, --help                  display this help message
-   -V, --version               display version information\
--""" % {'argv0': argv0}
-+""" % {'argv0': argv0})
-     sys.exit(0)
- 
- if __name__ == "__main__":
-@@ -1105,7 +1106,7 @@ if __name__ == "__main__":
-             if key in ['-h', '--help']:
-                 usage()
-             elif key in ['-V', '--version']:
--                print "ovsdb-idlc (Open vSwitch) @VERSION@"
-+                print("ovsdb-idlc (Open vSwitch) @VERSION@")
-             elif key in ['-C', '--directory']:
-                 os.chdir(value)
-             else:
diff --git a/recipes-networking/openvswitch/openvswitch-git/0001-use-the-linux-if_packet.h-Interface-directly.patch b/recipes-networking/openvswitch/openvswitch-git/0001-use-the-linux-if_packet.h-Interface-directly.patch
deleted file mode 100644
index f1f9bef..0000000
--- a/recipes-networking/openvswitch/openvswitch-git/0001-use-the-linux-if_packet.h-Interface-directly.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 28b2d17de9414161d5edd67766bd4b452cd809ef Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 20 Mar 2017 12:12:51 -0700
-Subject: [PATCH] use the linux if_packet.h Interface directly
-
-Helps compiling with musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- lib/netdev-linux.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c
-index fccf88f..b703156 100644
---- a/lib/netdev-linux.c
-+++ b/lib/netdev-linux.c
-@@ -33,14 +33,13 @@
- #include <linux/pkt_sched.h>
- #include <linux/rtnetlink.h>
- #include <linux/sockios.h>
-+#include <linux/if_packet.h>
- #include <sys/types.h>
- #include <sys/ioctl.h>
- #include <sys/socket.h>
- #include <sys/utsname.h>
--#include <netpacket/packet.h>
- #include <net/if.h>
- #include <net/if_arp.h>
--#include <net/if_packet.h>
- #include <net/route.h>
- #include <netinet/in.h>
- #include <poll.h>
diff --git a/recipes-networking/openvswitch/openvswitch-git/0002-Python3-compatibility-exception-cleanup.patch b/recipes-networking/openvswitch/openvswitch-git/0002-Python3-compatibility-exception-cleanup.patch
deleted file mode 100644
index 70abd26..0000000
--- a/recipes-networking/openvswitch/openvswitch-git/0002-Python3-compatibility-exception-cleanup.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From c0ba116eab401431b4f11b66bd7d1b42741b03c3 Mon Sep 17 00:00:00 2001
-From: Jason Wessel <jason.wessel@windriver.com>
-Date: Thu, 29 Jun 2017 20:33:23 -0700
-Subject: [PATCH] Python3 compatibility: exception cleanup
-
-Commit 52e4a477f0b3c0a0ece7adeede6e06e07814f8b9 from
-https://github.com/openvswitch/ovs.git
-
-The exception syntax which is compatible with python2 and python3 is
-to use the "as" form for "except:".
-
-Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
-Signed-off-by: Ben Pfaff <blp@ovn.org>
-
----
- build-aux/extract-ofp-fields | 2 +-
- ovsdb/ovsdb-doc              | 4 ++--
- ovsdb/ovsdb-idlc.in          | 4 ++--
- 3 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/build-aux/extract-ofp-fields b/build-aux/extract-ofp-fields
-index 80c7d35..6286c9c 100755
---- a/build-aux/extract-ofp-fields
-+++ b/build-aux/extract-ofp-fields
-@@ -784,7 +784,7 @@ if __name__ == "__main__":
-     try:
-         options, args = getopt.gnu_getopt(sys.argv[1:], 'h',
-                                           ['help', 'ovs-version='])
--    except getopt.GetoptError, geo:
-+    except getopt.GetoptError as geo:
-         sys.stderr.write("%s: %s\n" % (argv0, geo.msg))
-         sys.exit(1)
- 
-diff --git a/ovsdb/ovsdb-doc b/ovsdb/ovsdb-doc
-index e82ad59..9448713 100755
---- a/ovsdb/ovsdb-doc
-+++ b/ovsdb/ovsdb-doc
-@@ -278,7 +278,7 @@ if __name__ == "__main__":
-             options, args = getopt.gnu_getopt(sys.argv[1:], 'hV',
-                                               ['er-diagram=',
-                                                'version=', 'help'])
--        except getopt.GetoptError, geo:
-+        except getopt.GetoptError as geo:
-             sys.stderr.write("%s: %s\n" % (argv0, geo.msg))
-             sys.exit(1)
- 
-@@ -306,7 +306,7 @@ if __name__ == "__main__":
-             if len(line):
-                 print(line)
- 
--    except error.Error, e:
-+    except error.Error as e:
-         sys.stderr.write("%s: %s\n" % (argv0, e.msg))
-         sys.exit(1)
- 
-diff --git a/ovsdb/ovsdb-idlc.in b/ovsdb/ovsdb-idlc.in
-index 62442ee..e7e1c6b 100755
---- a/ovsdb/ovsdb-idlc.in
-+++ b/ovsdb/ovsdb-idlc.in
-@@ -1098,7 +1098,7 @@ if __name__ == "__main__":
-                                               ['directory',
-                                                'help',
-                                                'version'])
--        except getopt.GetoptError, geo:
-+        except getopt.GetoptError as geo:
-             sys.stderr.write("%s: %s\n" % (argv0, geo.msg))
-             sys.exit(1)
- 
-@@ -1136,7 +1136,7 @@ if __name__ == "__main__":
-             sys.exit(1)
- 
-         func(*args[1:])
--    except ovs.db.error.Error, e:
-+    except ovs.db.error.Error as e:
-         sys.stderr.write("%s: %s\n" % (argv0, e))
-         sys.exit(1)
- 
diff --git a/recipes-networking/openvswitch/openvswitch-git/0003-Python3-compatibility-execfile-to-exec.patch b/recipes-networking/openvswitch/openvswitch-git/0003-Python3-compatibility-execfile-to-exec.patch
deleted file mode 100644
index 98d77c8..0000000
--- a/recipes-networking/openvswitch/openvswitch-git/0003-Python3-compatibility-execfile-to-exec.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 8557d51e8c7325a17219911e9a65eeb3946e869f Mon Sep 17 00:00:00 2001
-From: Jason Wessel <jason.wessel@windriver.com>
-Date: Thu, 29 Jun 2017 20:33:23 -0700
-Subject: [PATCH] Python3 compatibility: execfile to exec
-
-Commit a4d10a7ca937d73873f6f98619d88682e69f5dbe from
-https://github.com/openvswitch/ovs.git
-
-Allow compability with python3 and python2 by changing execfile() to
-exec().
-
-Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
-Signed-off-by: Ben Pfaff <blp@ovn.org>
-
----
- ovsdb/ovsdb-idlc.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ovsdb/ovsdb-idlc.in b/ovsdb/ovsdb-idlc.in
-index e7e1c6b..e1551f9 100755
---- a/ovsdb/ovsdb-idlc.in
-+++ b/ovsdb/ovsdb-idlc.in
-@@ -17,7 +17,7 @@ def parseSchema(filename):
- 
- def annotateSchema(schemaFile, annotationFile):
-     schemaJson = ovs.json.from_file(schemaFile)
--    execfile(annotationFile, globals(), {"s": schemaJson})
-+    exec(compile(open(annotationFile, "rb").read(), annotationFile, 'exec'), globals(), {"s": schemaJson})
-     ovs.json.to_stream(schemaJson, sys.stdout)
-     sys.stdout.write('\n')
- 
diff --git a/recipes-networking/openvswitch/openvswitch-git/0004-Python3-compatibility-iteritems-to-items.patch b/recipes-networking/openvswitch/openvswitch-git/0004-Python3-compatibility-iteritems-to-items.patch
deleted file mode 100644
index 092c42d..0000000
--- a/recipes-networking/openvswitch/openvswitch-git/0004-Python3-compatibility-iteritems-to-items.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 7e4bd5c2af85b1293be0a92b18f7930bda2ab41a Mon Sep 17 00:00:00 2001
-From: Jason Wessel <jason.wessel@windriver.com>
-Date: Thu, 29 Jun 2017 20:33:23 -0700
-Subject: [PATCH] Python3 compatibility: iteritems to items
-
-Commit 4ab665623cbb4c6506e48b82e0c9fe8585f42e13 from
-https://github.com/openvswitch/ovs.git
-
-Allow compability with python3 and python2 by changing iteritems() to
-items().
-
-Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
-Signed-off-by: Ben Pfaff <blp@ovn.org>
-
----
- build-aux/extract-ofp-actions | 2 +-
- build-aux/extract-ofp-errors  | 2 +-
- build-aux/extract-ofp-fields  | 2 +-
- ovsdb/ovsdb-idlc.in           | 8 ++++----
- 4 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/build-aux/extract-ofp-actions b/build-aux/extract-ofp-actions
-index 67e3848..c7858bd 100755
---- a/build-aux/extract-ofp-actions
-+++ b/build-aux/extract-ofp-actions
-@@ -13,7 +13,7 @@ version_map = {"1.0": 0x01,
-                "1.3": 0x04,
-                "1.4": 0x05,
-                "1.5": 0x06}
--version_reverse_map = dict((v, k) for (k, v) in version_map.iteritems())
-+version_reverse_map = dict((v, k) for (k, v) in version_map.items())
- 
- # Map from vendor name to the length of the action header.
- vendor_map = {"OF": (0x00000000,  4),
-diff --git a/build-aux/extract-ofp-errors b/build-aux/extract-ofp-errors
-index 97d62d2..58ba006 100755
---- a/build-aux/extract-ofp-errors
-+++ b/build-aux/extract-ofp-errors
-@@ -14,7 +14,7 @@ version_map = {"1.0": 0x01,
-                "1.4": 0x05,
-                "1.5": 0x06,
-                "1.6": 0x07}
--version_reverse_map = dict((v, k) for (k, v) in version_map.iteritems())
-+version_reverse_map = dict((v, k) for (k, v) in version_map.items())
- 
- token = None
- line = ""
-diff --git a/build-aux/extract-ofp-fields b/build-aux/extract-ofp-fields
-index 6286c9c..f624728 100755
---- a/build-aux/extract-ofp-fields
-+++ b/build-aux/extract-ofp-fields
-@@ -16,7 +16,7 @@ VERSION = {"1.0": 0x01,
-            "1.3": 0x04,
-            "1.4": 0x05,
-            "1.5": 0x06}
--VERSION_REVERSE = dict((v,k) for k, v in VERSION.iteritems())
-+VERSION_REVERSE = dict((v,k) for k, v in VERSION.items())
- 
- TYPES = {"u8":       (1,   False),
-          "be16":     (2,   False),
-diff --git a/ovsdb/ovsdb-idlc.in b/ovsdb/ovsdb-idlc.in
-index e1551f9..b70a599 100755
---- a/ovsdb/ovsdb-idlc.in
-+++ b/ovsdb/ovsdb-idlc.in
-@@ -138,7 +138,7 @@ def printCIDLHeader(schemaFile):
- #include "smap.h"
- #include "uuid.h"''' % {'prefix': prefix.upper()})
- 
--    for tableName, table in sorted(schema.tables.iteritems()):
-+    for tableName, table in sorted(schema.tables.items()):
-         structName = "%s%s" % (prefix, tableName.lower())
- 
-         print("\f")
-@@ -300,7 +300,7 @@ def printCIDLSource(schemaFile):
- ''' % schema.idlHeader)
- 
-     # Cast functions.
--    for tableName, table in sorted(schema.tables.iteritems()):
-+    for tableName, table in sorted(schema.tables.items()):
-         structName = "%s%s" % (prefix, tableName.lower())
-         print('''
- static struct %(s)s *
-@@ -311,7 +311,7 @@ static struct %(s)s *
- ''' % {'s': structName})
- 
- 
--    for tableName, table in sorted(schema.tables.iteritems()):
-+    for tableName, table in sorted(schema.tables.items()):
-         structName = "%s%s" % (prefix, tableName.lower())
-         print("\f")
-         print("/* %s table. */" % (tableName))
-@@ -1025,7 +1025,7 @@ void
-     # Table classes.
-     print("\f")
-     print("struct ovsdb_idl_table_class %stable_classes[%sN_TABLES] = {" % (prefix, prefix.upper()))
--    for tableName, table in sorted(schema.tables.iteritems()):
-+    for tableName, table in sorted(schema.tables.items()):
-         structName = "%s%s" % (prefix, tableName.lower())
-         if table.is_root:
-             is_root = "true"
diff --git a/recipes-networking/openvswitch/openvswitch-git/0005-Python3-compatibility-fix-integer-problems.patch b/recipes-networking/openvswitch/openvswitch-git/0005-Python3-compatibility-fix-integer-problems.patch
deleted file mode 100644
index d6f9364..0000000
--- a/recipes-networking/openvswitch/openvswitch-git/0005-Python3-compatibility-fix-integer-problems.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From d22c7f1c6ade82a0cd646cfcd8df9adda6cd1ad6 Mon Sep 17 00:00:00 2001
-From: Jason Wessel <jason.wessel@windriver.com>
-Date: Thu, 29 Jun 2017 20:33:23 -0700
-Subject: [PATCH] Python3 compatibility: fix integer problems
-
-Commit fa145f1a53943243f94a32ce98525db8494b0052 from
-https://github.com/openvswitch/ovs.git
-
-In python3 maxint is not defined, but maxsize is defined in both
-python2 and python3.
-
-The put_text() will not automatically use a value which came in as
-float due to a pior math function and python3 will throw an exception.
-The simple answer is to convert it with int() and move on.
-
-Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
-Signed-off-by: Ben Pfaff <blp@ovn.org>
-
----
- ovsdb/ovsdb-idlc.in   | 2 +-
- python/build/nroff.py | 2 ++
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/ovsdb/ovsdb-idlc.in b/ovsdb/ovsdb-idlc.in
-index b70a599..3645275 100755
---- a/ovsdb/ovsdb-idlc.in
-+++ b/ovsdb/ovsdb-idlc.in
-@@ -358,7 +358,7 @@ static void
-                     print("        %s" % type.value.initCDefault(valueVar, type.n_min == 0))
-                 print("    }")
-             else:
--                if type.n_max != sys.maxint:
-+                if type.n_max != sys.maxsize:
-                     print("    size_t n = MIN(%d, datum->n);" % type.n_max)
-                     nMax = "n"
-                 else:
-diff --git a/python/build/nroff.py b/python/build/nroff.py
-index c23837f..401f699 100644
---- a/python/build/nroff.py
-+++ b/python/build/nroff.py
-@@ -148,6 +148,8 @@ def fatal(msg):
- 
- 
- def put_text(text, x, y, s):
-+    x = int(x)
-+    y = int(y)
-     extend = x + len(s) - len(text[y])
-     if extend > 0:
-         text[y] += ' ' * extend
diff --git a/recipes-networking/openvswitch/openvswitch-git/0006-Python3-compatibility-math-error-compatibility.patch b/recipes-networking/openvswitch/openvswitch-git/0006-Python3-compatibility-math-error-compatibility.patch
deleted file mode 100644
index c53502b..0000000
--- a/recipes-networking/openvswitch/openvswitch-git/0006-Python3-compatibility-math-error-compatibility.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 7f542122d62b20d11198bfdb0f2c6a460261b5e7 Mon Sep 17 00:00:00 2001
-From: Jason Wessel <jason.wessel@windriver.com>
-Date: Thu, 29 Jun 2017 20:33:23 -0700
-Subject: [PATCH] Python3 compatibility: math error compatibility
-
-Commit 3fa5aa4294377e0f35267936d0c5caea3e61db48 from
-https://github.com/openvswitch/ovs.git
-
-The way math is handled with typing is completely different in python3.
-
-% python2<<EOF
-x=10
-y=8
-print((x + (y - 1)) / y * y)
-EOF
-16
-
-python3<<EOF
-x=10
-y=8
-print((x + (y - 1)) / y * y)
-EOF
-17.0
-
-So we need to force an integer for the round function as follows and
-maintain compatibility with python2.
-
-python3<<EOF
-x=10
-y=8
-print(int((x + (y - 1)) / y) * y)
-EOF
-16
-
-Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
-Signed-off-by: Ben Pfaff <blp@ovn.org>
-
----
- build-aux/extract-ofp-actions | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/build-aux/extract-ofp-actions b/build-aux/extract-ofp-actions
-index c7858bd..4d05ef9 100755
---- a/build-aux/extract-ofp-actions
-+++ b/build-aux/extract-ofp-actions
-@@ -35,7 +35,7 @@ line = ""
- arg_structs = set()
- 
- def round_up(x, y):
--    return (x + (y - 1)) / y * y
-+    return int((x + (y - 1)) / y) * y
- 
- def open_file(fn):
-     global file_name
diff --git a/recipes-networking/openvswitch/openvswitch-git/0007-Python3-compatibility-unicode-to-str.patch b/recipes-networking/openvswitch/openvswitch-git/0007-Python3-compatibility-unicode-to-str.patch
deleted file mode 100644
index 753490f..0000000
--- a/recipes-networking/openvswitch/openvswitch-git/0007-Python3-compatibility-unicode-to-str.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From c78b39ae9ba6337210d6a9e4ccc4753cb1c3b48f Mon Sep 17 00:00:00 2001
-From: Jason Wessel <jason.wessel@windriver.com>
-Date: Thu, 29 Jun 2017 20:33:23 -0700
-Subject: [PATCH] Python3 compatibility: unicode to str
-
-Commit 7430959d4ad17db89b8387c3aef58c8b230cad10 from
-https://github.com/openvswitch/ovs.git
-
-When transitioning from python2 to python3 the following type class
-changes occured:
-
-python2 -> python3
-unicode -> str
-str -> bytes
-
-That means we have to check the python version and do the right type
-check python3 will throw an error when it tries to use the unicode
-type because it doesn't exist.
-
-Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
-Signed-off-by: Ben Pfaff <blp@ovn.org>
-
----
- ovsdb/ovsdb-doc | 12 +++++++++---
- 1 file changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/ovsdb/ovsdb-doc b/ovsdb/ovsdb-doc
-index 9448713..d55c6e6 100755
---- a/ovsdb/ovsdb-doc
-+++ b/ovsdb/ovsdb-doc
-@@ -65,9 +65,15 @@ def columnGroupToNroff(table, groupXml, documented_columns):
-                 if node.hasAttribute('type'):
-                     type_string = node.attributes['type'].nodeValue
-                     type_json = ovs.json.from_string(str(type_string))
--                    if type(type_json) in (str, unicode):
--                        raise error.Error("%s %s:%s has invalid 'type': %s" 
--                                          % (table.name, name, key, type_json))
-+                    # py2 -> py3 means str -> bytes and unicode -> str
-+                    try:
-+                        if type(type_json) in (str, unicode):
-+                            raise error.Error("%s %s:%s has invalid 'type': %s" 
-+                                              % (table.name, name, key, type_json))
-+                    except:
-+                        if type(type_json) in (bytes, str):
-+                            raise error.Error("%s %s:%s has invalid 'type': %s" 
-+                                              % (table.name, name, key, type_json))
-                     type_ = ovs.db.types.BaseType.from_json(type_json)
-                 else:
-                     type_ = column.type.value
diff --git a/recipes-networking/openvswitch/openvswitch-git/0008-AUTHORS-Add-Jason-Wessel.patch b/recipes-networking/openvswitch/openvswitch-git/0008-AUTHORS-Add-Jason-Wessel.patch
deleted file mode 100644
index f55a5ca..0000000
--- a/recipes-networking/openvswitch/openvswitch-git/0008-AUTHORS-Add-Jason-Wessel.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From f8491645416952b31000f42777ff79486a7b0511 Mon Sep 17 00:00:00 2001
-From: Ben Pfaff <blp@ovn.org>
-Date: Thu, 6 Jul 2017 14:01:27 -0700
-Subject: [PATCH] AUTHORS: Add Jason Wessel.
-
-Commit a91c4cfaf863718bc94fb9c88939bd0b0385a6fe from
-https://github.com/openvswitch/ovs.git
-
-Signed-off-by: Ben Pfaff <blp@ovn.org>
-
----
- AUTHORS.rst | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/AUTHORS.rst b/AUTHORS.rst
-index 63e6a8d..d0dc70d 100644
---- a/AUTHORS.rst
-+++ b/AUTHORS.rst
-@@ -156,6 +156,7 @@ Jan Scheurich                   jan.scheurich@ericsson.com
- Jan Vansteenkiste               jan@vstone.eu
- Jarno Rajahalme                 jarno@ovn.org
- Jason Kölker                    jason@koelker.net
-+Jason Wessel                    jason.wessel@windriver.com
- Jasper Capel                    jasper@capel.tv
- Jean Tourrilhes                 jt@hpl.hp.com
- Jeremy Stribling                strib@nicira.com
diff --git a/recipes-networking/openvswitch/openvswitch-git/openvswitch-add-ptest-b8dcfbebee9e7dbc74ec5eecc9b45d335d6150c1.patch b/recipes-networking/openvswitch/openvswitch-git/openvswitch-add-ptest-b8dcfbebee9e7dbc74ec5eecc9b45d335d6150c1.patch
deleted file mode 100644
index 4ae86c3..0000000
--- a/recipes-networking/openvswitch/openvswitch-git/openvswitch-add-ptest-b8dcfbebee9e7dbc74ec5eecc9b45d335d6150c1.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From fb68120ef8aed625b04b2fbd2cb78fc59a7b7432 Mon Sep 17 00:00:00 2001
-From: He Zhe <zhe.he@windriver.com>
-Date: Wed, 30 Mar 2016 06:23:45 -0400
-Subject: [PATCH] openvswitch: Add test-install rule to support ptest execution
-
-Signed-off-by: Radu Patriu <radu.patriu@enea.com>
-
-Fix ptest for v2.5
- - Copy certain files from srcdir since it has been different from
-   build directory.
- - Copy more necessary files for new added test cases.
- - Modify config files for running on target.
-
-Signed-off-by: He Zhe <zhe.he@windriver.com>
-
----
- Makefile.am |  1 +
- test.mk     | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 73 insertions(+)
- create mode 100644 test.mk
-
-diff --git a/Makefile.am b/Makefile.am
-index ea63acb..ff7d70a 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -429,3 +429,4 @@ include windows/automake.mk
- include ovn/automake.mk
- include selinux/automake.mk
- include build-aux/automake.mk
-+include test.mk
-diff --git a/test.mk b/test.mk
-new file mode 100644
-index 0000000..b10a581
---- /dev/null
-+++ b/test.mk
-@@ -0,0 +1,72 @@
-+TEST_DEST ?= ${prefix}/lib/openvswitch
-+TEST_ROOT ?= ${prefix}/lib/openvswitch
-+TEST_DEPEND =
-+
-+if HAVE_OPENSSL
-+TEST_DEPEND += $(TESTPKI_FILES)
-+endif
-+
-+test-install: $(TEST_DEPEND)
-+	@list='$(noinst_PROGRAMS) $(EXTRA_DIST) $(dist_check_SCRIPTS) $(TEST_DEPEND) tests/atlocal tests/atconfig' ;\
-+	install -d $(TEST_DEST)/tests ;\
-+	install $(srcdir)/vtep/ovs-vtep $(TEST_DEST)/tests ;\
-+	install -d $(TEST_DEST)/python ;\
-+	install -d $(TEST_DEST)/python/ovs ;\
-+	install -d $(TEST_DEST)/python/ovs/db ;\
-+	install -d $(TEST_DEST)/python/ovs/unixctl ;\
-+	install -d $(TEST_DEST)/vswitchd ;\
-+	install $(srcdir)/vswitchd/vswitch.ovsschema $(TEST_DEST)/vswitchd ;\
-+	install vswitchd/ovs-vswitchd $(TEST_DEST)/vswitchd ;\
-+	install -d $(TEST_DEST)/debian ;\
-+	install $(srcdir)/debian/ovs-monitor-ipsec $(TEST_DEST)/debian ;\
-+	install -d $(TEST_DEST)/build-aux ;\
-+	install $(srcdir)/build-aux/check-structs $(TEST_DEST)/build-aux ;\
-+	install -d $(TEST_DEST)/xenserver ;\
-+	install $(srcdir)/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync $(TEST_DEST)/xenserver ;\
-+	install $(srcdir)/xenserver/opt_xensource_libexec_interface-reconfigure $(TEST_DEST)/xenserver ;\
-+	install $(srcdir)/xenserver/opt_xensource_libexec_InterfaceReconfigure.py $(TEST_DEST)/xenserver ;\
-+	install $(srcdir)/xenserver/opt_xensource_libexec_InterfaceReconfigureBridge.py $(TEST_DEST)/xenserver ;\
-+	install $(srcdir)/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py $(TEST_DEST)/xenserver ;\
-+	install -d $(TEST_DEST)/vtep ;\
-+	install $(srcdir)/vtep/vtep.ovsschema $(TEST_DEST)/vtep ;\
-+	install -d $(TEST_DEST)/ovn ;\
-+	install $(srcdir)/ovn/ovn-nb.ovsschema $(TEST_DEST)/ovn ;\
-+	install $(srcdir)/ovn/ovn-sb.ovsschema $(TEST_DEST)/ovn ;\
-+	install -d $(TEST_DEST)/utilities ;\
-+	install $(srcdir)/utilities/ovs-pcap.in $(TEST_DEST)/utilities ;\
-+	install $(srcdir)/utilities/ovs-pki.in $(TEST_DEST)/utilities ;\
-+	for p in $$list ; do \
-+	  echo $$p ;\
-+	  p=$${p#../git/} ;\
-+	  pre=$${p#tests\/} ;\
-+	  if test $$pre != $$p ; then \
-+	    echo installing $$p to $(TEST_DEST)/tests/$$pre ;\
-+	    if test -f $$p ; then \
-+	      install $$p $(TEST_DEST)/tests/$$pre ;\
-+	    else \
-+	      install $(srcdir)/$$p $(TEST_DEST)/tests/$$pre ;\
-+	    fi ;\
-+	    continue ;\
-+	  fi ;\
-+	  pre=$${p#python\/ovs\/} ;\
-+	  if test $$pre != $$p ; then \
-+	    echo installing $$p to $(TEST_DEST)/python/ovs/$$pre ;\
-+	    if test -f $$p ; then \
-+	      install $$p $(TEST_DEST)/python/ovs/$$pre ;\
-+	    else \
-+	      install $(srcdir)/$$p $(TEST_DEST)/python/ovs/$$pre ;\
-+	    fi ;\
-+	    continue ;\
-+	  fi; \
-+	done ;\
-+	sed -i 's|abs_builddir=.*|abs_builddir='"'"'$(TEST_ROOT)/tests'"'"'|g' $(TEST_DEST)/tests/atconfig
-+	sed -i 's|abs_srcdir=.*|abs_srcdir='"'"'$(TEST_ROOT)/tests'"'"'|g' $(TEST_DEST)/tests/atconfig
-+	sed -i 's|abs_top_srcdir=.*|abs_top_srcdir='"'"'$(TEST_ROOT)'"'"'|g' $(TEST_DEST)/tests/atconfig
-+	sed -i 's|abs_top_builddir=.*|abs_top_builddir='"'"'$(TEST_ROOT)'"'"'|g' $(TEST_DEST)/tests/atconfig
-+	sed -i 's|at_srcdir=.*|at_srcdir='"'"'.'"'"'|g' $(TEST_DEST)/tests/atconfig
-+	sed -i 's|at_top_srcdir=.*|at_top_srcdir='"'"'..'"'"'|g' $(TEST_DEST)/tests/atconfig
-+	sed -i 's|at_top_build_prefix=.*|at_top_build_prefix='"'"'../'"'"'|g' $(TEST_DEST)/tests/atconfig
-+	sed -i 's|^\(.*config\.log.*\)|#\1|g' $(TEST_DEST)/tests/testsuite
-+	sed -i 's|$$srcdir|$$abs_srcdir|g' $(TEST_DEST)/tests/testsuite
-+	sed -i 's|ovs-appctl-bashcomp\.bash|/etc/bash_completion.d/ovs-appctl-bashcomp\.bash|g' $(TEST_DEST)/tests/testsuite
-+	sed -i 's|ovs-vsctl-bashcomp\.bash|/etc/bash_completion.d/ovs-vsctl-bashcomp\.bash|g' $(TEST_DEST)/tests/testsuite
-- 
2.7.4



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2018-06-05 13:48 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-05 13:47 [PATCH] openvswitch: remove unused patches Mark Asselstine

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.