The Cc list above has been expanded by additional
    addresses found in the patch commit message. By default
    send-email prompts before sending whenever this occurs.
    This behavior is controlled by the sendemail.confirm
    configuration setting.

    For additional information, run 'git send-email --help'.
    To retain the current behavior, but squelch this message,
    run 'git config --global sendemail.confirm auto'.
From c38a7af9bb969cbb45e599312c25515081a764ae Mon Sep 17 00:00:00 2001
From: ohmyadd <ohmy...@gmail.com>
Date: Thu, 28 Mar 2019 22:38:10 +0800
Subject: [PATCH] ryu/services/protocols/ovsdd/client.py overwrite function
 __process_update2 in class Idl to make it still work if ovs use ovsdb
 version2 protocol

Signed-off-by: ohmyadd <ohmy...@gmail.com>
---
 ryu/services/protocols/ovsdb/client.py | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/ryu/services/protocols/ovsdb/client.py b/ryu/services/protocols/ovsdb/client.py
index 6ea36842..39038bea 100644
--- a/ryu/services/protocols/ovsdb/client.py
+++ b/ryu/services/protocols/ovsdb/client.py
@@ -271,6 +271,32 @@ class Idl(idl.Idl):
 
         return changed
 
+    def __process_update2(self, table, uuid, row_update):
+        old_row = table.rows.get(uuid)
+        if old_row is not None:
+            old_row = model.Row(dictify(old_row))
+            old_row['_uuid'] = uuid
+
+        changed = idl.Idl.__process_update2(self, table, uuid, row_update)
+
+        if changed:
+            if 'delete' in row_update:
+                ev = (event.EventRowDelete, (table.name, old_row))
+
+            elif 'insert' in row_update:
+                new_row = model.Row(dictify(table.rows.get(uuid)))
+                new_row['_uuid'] = uuid
+                ev = (event.EventRowInsert, (table.name, new_row))
+
+            else:
+                new_row = model.Row(dictify(table.rows.get(uuid)))
+                new_row['_uuid'] = uuid
+                ev = (event.EventRowUpdate, (table.name, old_row, new_row))
+
+            self._events.append(ev)
+
+        return changed
+
 
 class RemoteOvsdb(app_manager.RyuApp):
     _EVENTS = [event.EventRowUpdate,
-- 
2.17.1

_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to