Useful for debugging calling code that waits for or uses reponses.

Signed-off-by: Jason Kölker <[email protected]>
---
 ryu/lib/ofctl_utils.py | 15 +++++++++++++++
 ryu/lib/ofctl_v1_0.py  |  8 ++++----
 ryu/lib/ofctl_v1_2.py  | 10 +++++-----
 ryu/lib/ofctl_v1_3.py  | 12 ++++++------
 ryu/lib/ofctl_v1_4.py  | 12 ++++++------
 5 files changed, 36 insertions(+), 21 deletions(-)

diff --git a/ryu/lib/ofctl_utils.py b/ryu/lib/ofctl_utils.py
index 3ec8c36..bc0e740 100644
--- a/ryu/lib/ofctl_utils.py
+++ b/ryu/lib/ofctl_utils.py
@@ -23,6 +23,21 @@ def str_to_int(str_num):
     return int(str(str_num), 0)
 
 
+def send_msg(dp, msg, logger=None):
+    if msg.xid is None:
+        dp.set_xid(msg)
+
+    # NOTE(jkoelker) use the logger the calling code wants us to
+    if logger is not None:
+        log = logger
+
+    else:
+        log = LOG
+
+    log.debug('Sending message with xid(%x): %s', msg.xid, msg)
+    dp.send_msg(msg)
+
+
 class OFCtlUtil(object):
 
     def __init__(self, ofproto):
diff --git a/ryu/lib/ofctl_v1_0.py b/ryu/lib/ofctl_v1_0.py
index 4b8b9b0..af22f87 100644
--- a/ryu/lib/ofctl_v1_0.py
+++ b/ryu/lib/ofctl_v1_0.py
@@ -284,7 +284,7 @@ def send_stats_request(dp, stats, waiters, msgs):
     lock = hub.Event()
     previous_msg_len = len(msgs)
     waiters_per_dp[stats.xid] = (lock, msgs)
-    dp.send_msg(stats)
+    ofctl_utils.send_msg(dp, stats, LOG)
 
     lock.wait(timeout=DEFAULT_TIMEOUT)
     current_msg_len = len(msgs)
@@ -536,7 +536,7 @@ def mod_flow_entry(dp, flow, cmd):
         flags=flags,
         actions=actions)
 
-    dp.send_msg(flow_mod)
+    ofctl_utils.send_msg(dp, flow_mod, LOG)
 
 
 def delete_flow_entry(dp):
@@ -547,7 +547,7 @@ def delete_flow_entry(dp):
         datapath=dp, match=match, cookie=0,
         command=dp.ofproto.OFPFC_DELETE)
 
-    dp.send_msg(flow_mod)
+    ofctl_utils.send_msg(dp, flow_mod, LOG)
 
 
 def mod_port_behavior(dp, port_config):
@@ -560,4 +560,4 @@ def mod_port_behavior(dp, port_config):
     port_mod = dp.ofproto_parser.OFPPortMod(
         dp, port_no, hw_addr, config, mask, advertise)
 
-    dp.send_msg(port_mod)
+    ofctl_utils.send_msg(dp, port_mod, LOG)
diff --git a/ryu/lib/ofctl_v1_2.py b/ryu/lib/ofctl_v1_2.py
index cb21bb6..586f7c5 100644
--- a/ryu/lib/ofctl_v1_2.py
+++ b/ryu/lib/ofctl_v1_2.py
@@ -402,7 +402,7 @@ def send_stats_request(dp, stats, waiters, msgs):
     lock = hub.Event()
     previous_msg_len = len(msgs)
     waiters_per_dp[stats.xid] = (lock, msgs)
-    dp.send_msg(stats)
+    ofctl_utils.send_msg(dp, stats, LOG)
 
     lock.wait(timeout=DEFAULT_TIMEOUT)
     current_msg_len = len(msgs)
@@ -900,7 +900,7 @@ def mod_flow_entry(dp, flow, cmd):
         hard_timeout, priority, buffer_id, out_port, out_group,
         flags, match, inst)
 
-    dp.send_msg(flow_mod)
+    ofctl_utils.send_msg(dp, flow_mod, LOG)
 
 
 def mod_group_entry(dp, group, cmd):
@@ -932,7 +932,7 @@ def mod_group_entry(dp, group, cmd):
     group_mod = dp.ofproto_parser.OFPGroupMod(
         dp, cmd, type_, group_id, buckets)
 
-    dp.send_msg(group_mod)
+    ofctl_utils.send_msg(dp, group_mod, LOG)
 
 
 def mod_port_behavior(dp, port_config):
@@ -945,7 +945,7 @@ def mod_port_behavior(dp, port_config):
     port_mod = dp.ofproto_parser.OFPPortMod(
         dp, port_no, hw_addr, config, mask, advertise)
 
-    dp.send_msg(port_mod)
+    ofctl_utils.send_msg(dp, port_mod, LOG)
 
 
 def send_experimenter(dp, exp):
@@ -961,4 +961,4 @@ def send_experimenter(dp, exp):
     expmsg = dp.ofproto_parser.OFPExperimenter(
         dp, experimenter, exp_type, data)
 
-    dp.send_msg(expmsg)
+    ofctl_utils.send_msg(dp, expmsg, LOG)
diff --git a/ryu/lib/ofctl_v1_3.py b/ryu/lib/ofctl_v1_3.py
index 5249d34..474e2fa 100644
--- a/ryu/lib/ofctl_v1_3.py
+++ b/ryu/lib/ofctl_v1_3.py
@@ -440,7 +440,7 @@ def send_stats_request(dp, stats, waiters, msgs):
     lock = hub.Event()
     previous_msg_len = len(msgs)
     waiters_per_dp[stats.xid] = (lock, msgs)
-    dp.send_msg(stats)
+    ofctl_utils.send_msg(dp, stats, LOG)
 
     lock.wait(timeout=DEFAULT_TIMEOUT)
     current_msg_len = len(msgs)
@@ -1055,7 +1055,7 @@ def mod_flow_entry(dp, flow, cmd):
         hard_timeout, priority, buffer_id, out_port, out_group,
         flags, match, inst)
 
-    dp.send_msg(flow_mod)
+    ofctl_utils.send_msg(dp, flow_mod, LOG)
 
 
 def mod_meter_entry(dp, meter, cmd):
@@ -1102,7 +1102,7 @@ def mod_meter_entry(dp, meter, cmd):
     meter_mod = dp.ofproto_parser.OFPMeterMod(
         dp, cmd, flags, meter_id, bands)
 
-    dp.send_msg(meter_mod)
+    ofctl_utils.send_msg(dp, meter_mod, LOG)
 
 
 def mod_group_entry(dp, group, cmd):
@@ -1134,7 +1134,7 @@ def mod_group_entry(dp, group, cmd):
     group_mod = dp.ofproto_parser.OFPGroupMod(
         dp, cmd, type_, group_id, buckets)
 
-    dp.send_msg(group_mod)
+    ofctl_utils.send_msg(dp, group_mod, LOG)
 
 
 def mod_port_behavior(dp, port_config):
@@ -1147,7 +1147,7 @@ def mod_port_behavior(dp, port_config):
     port_mod = dp.ofproto_parser.OFPPortMod(
         dp, port_no, hw_addr, config, mask, advertise)
 
-    dp.send_msg(port_mod)
+    ofctl_utils.send_msg(dp, port_mod, LOG)
 
 
 def send_experimenter(dp, exp):
@@ -1163,4 +1163,4 @@ def send_experimenter(dp, exp):
     expmsg = dp.ofproto_parser.OFPExperimenter(
         dp, experimenter, exp_type, data)
 
-    dp.send_msg(expmsg)
+    ofctl_utils.send_msg(dp, expmsg, LOG)
diff --git a/ryu/lib/ofctl_v1_4.py b/ryu/lib/ofctl_v1_4.py
index e58a6ac..19232ef 100644
--- a/ryu/lib/ofctl_v1_4.py
+++ b/ryu/lib/ofctl_v1_4.py
@@ -354,7 +354,7 @@ def send_stats_request(dp, stats, waiters, msgs):
     lock = hub.Event()
     previous_msg_len = len(msgs)
     waiters_per_dp[stats.xid] = (lock, msgs)
-    dp.send_msg(stats)
+    ofctl_utils.send_msg(dp, stats, LOG)
 
     lock.wait(timeout=DEFAULT_TIMEOUT)
     current_msg_len = len(msgs)
@@ -850,7 +850,7 @@ def mod_flow_entry(dp, flow, cmd):
         hard_timeout, priority, buffer_id, out_port, out_group,
         importance, flags, match, inst)
 
-    dp.send_msg(flow_mod)
+    ofctl_utils.send_msg(dp, flow_mod, LOG)
 
 
 def mod_meter_entry(dp, meter, cmd):
@@ -892,7 +892,7 @@ def mod_meter_entry(dp, meter, cmd):
     meter_mod = dp.ofproto_parser.OFPMeterMod(
         dp, cmd, flags, meter_id, bands)
 
-    dp.send_msg(meter_mod)
+    ofctl_utils.send_msg(dp, meter_mod, LOG)
 
 
 def mod_group_entry(dp, group, cmd):
@@ -921,7 +921,7 @@ def mod_group_entry(dp, group, cmd):
     group_mod = dp.ofproto_parser.OFPGroupMod(
         dp, cmd, group_type, group_id, buckets)
 
-    dp.send_msg(group_mod)
+    ofctl_utils.send_msg(dp, group_mod, LOG)
 
 
 def mod_port_behavior(dp, port_config):
@@ -961,7 +961,7 @@ def mod_port_behavior(dp, port_config):
     port_mod = dp.ofproto_parser.OFPPortMod(
         dp, port_no, hw_addr, config, mask, prop)
 
-    dp.send_msg(port_mod)
+    ofctl_utils.send_msg(dp, port_mod, LOG)
 
 
 def send_experimenter(dp, exp):
@@ -977,4 +977,4 @@ def send_experimenter(dp, exp):
     expmsg = dp.ofproto_parser.OFPExperimenter(
         dp, experimenter, exp_type, data)
 
-    dp.send_msg(expmsg)
+    ofctl_utils.send_msg(dp, expmsg, LOG)
-- 
2.7.3


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471&iu=/4140
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to