fix bugs in monitor commands
diff --git a/src/emuvim/dcemulator/monitoring.py b/src/emuvim/dcemulator/monitoring.py
index 875913f..b5f0204 100755
--- a/src/emuvim/dcemulator/monitoring.py
+++ b/src/emuvim/dcemulator/monitoring.py
@@ -48,6 +48,8 @@
 # we cannot use port 8080 because ryu-ofrest api  is already using that one

 CADVISOR_PORT = 8081

 

+COOKIE_MASK = 0xffffffff

+

 class DCNetworkMonitor():

     def __init__(self, net):

         self.net = net

@@ -344,7 +346,7 @@
                 data = {}

 

                 data['cookie'] = flow_dict['cookie']

-                data['cookie_mask'] = flow_dict['cookie']

+                data['cookie_mask'] = COOKIE_MASK

 

                 if 'tx' in flow_dict['metric_key']:

                     data['match'] = {'in_port':flow_dict['mon_port']}

@@ -381,7 +383,12 @@
 

                 # query Ryu

                 ret = self.net.ryu_REST('stats/port', dpid=dpid)

-                port_stat_dict = ast.literal_eval(ret)

+                if isinstance(ret, dict):

+                    port_stat_dict = ret

+                elif isinstance(ret, basestring):

+                    port_stat_dict = ast.literal_eval(ret.rstrip())

+                else:

+                    port_stat_dict = None

 

                 metric_list = [metric_dict for metric_dict in self.network_metrics

                                if int(metric_dict['switch_dpid'])==int(dpid)]