X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Femuvim%2Fdcemulator%2Fnet.py;h=39c4a964c43632a2ca1f6afca12ba774228e990e;hb=332940d4e4c7e6155bbc1a21d5f13cd71214b539;hp=115b9e51d753282d26f1a42c4aa96909148f1c80;hpb=241e3e951c4871d956c29887ab101adce4817363;p=osm%2Fvim-emu.git diff --git a/src/emuvim/dcemulator/net.py b/src/emuvim/dcemulator/net.py index 115b9e5..39c4a96 100755 --- a/src/emuvim/dcemulator/net.py +++ b/src/emuvim/dcemulator/net.py @@ -236,15 +236,17 @@ class DCNetwork(Containernet): if cmd == 'add-flow': ret = self._chainAddFlow(vnf_src_name, vnf_dst_name, vnf_src_interface, vnf_dst_interface, **kwargs) if kwargs.get('bidirectional'): - return ret +'\n' + self._chainAddFlow(vnf_dst_name, vnf_src_name, vnf_dst_interface, vnf_src_interface, **kwargs) + ret = ret +'\n' + self._chainAddFlow(vnf_dst_name, vnf_src_name, vnf_dst_interface, vnf_src_interface, **kwargs) elif cmd == 'del-flows': # TODO: del-flow to be implemented ret = self._chainAddFlow(vnf_src_name, vnf_dst_name, vnf_src_interface, vnf_dst_interface, **kwargs) if kwargs.get('bidirectional'): - return ret + '\n' + self._chainAddFlow(vnf_dst_name, vnf_src_name, vnf_dst_interface, vnf_src_interface, **kwargs) + ret = ret + '\n' + self._chainAddFlow(vnf_dst_name, vnf_src_name, vnf_dst_interface, vnf_src_interface, **kwargs) else: - return "Command unknown" + ret = "Command unknown" + + return ret def _chainAddFlow(self, vnf_src_name, vnf_dst_name, vnf_src_interface=None, vnf_dst_interface=None, **kwargs): @@ -366,7 +368,6 @@ class DCNetwork(Containernet): flow = {} flow['dpid'] = int(node.dpid, 16) - logging.info('node name:{0}'.format(node.name)) if cookie: flow['cookie'] = int(cookie) @@ -401,14 +402,13 @@ class DCNetwork(Containernet): action['type'] = 'OUTPUT' action['port'] = switch_outport_nr flow['actions'].append(action) - #flow['match'] = self._parse_match(match) + elif cmd == 'del-flows': - #del(flow['actions']) prefix = 'stats/flowentry/delete' + if cookie: - flow['cookie_mask'] = cookie - #if cookie is None: - # flow['match'] = self._parse_match(match) + # TODO: add cookie_mask as argument + flow['cookie_mask'] = int('0xffffffffffffffff', 16) # need full mask to match complete cookie action = {} action['type'] = 'OUTPUT'