\r
def add(self, args):\r
vnf_src_name = self._parse_vnf_name(args.get("source"))\r
- vnf_src_interface = self._parse_vnf_interface(args.get("source"))\r
vnf_dst_name = self._parse_vnf_name(args.get("destination"))\r
- vnf_dst_interface = self._parse_vnf_interface(args.get("destination"))\r
- weight = args.get("weight")\r
+\r
+ params = self._create_dict(\r
+ vnf_src_interface=self._parse_vnf_interface(args.get("source")),\r
+ vnf_dst_interface=self._parse_vnf_interface(args.get("destination")),\r
+ weight=args.get("weight"),\r
+ match=args.get("match"),\r
+ bidirectional=args.get("bidirectional"),\r
+ cookie=args.get("cookie"))\r
+\r
+ # note zerorpc does not support named arguments\r
r = self.c.network_action_start(\r
#args.get("datacenter"),\r
vnf_src_name,\r
vnf_dst_name,\r
- vnf_src_interface=vnf_src_interface,\r
- vnf_dst_interface=vnf_dst_interface,\r
- weight=weight)\r
+ params)\r
pp.pprint(r)\r
\r
def remove(self, args):\r
vnf_src_name = self._parse_vnf_name(args.get("source"))\r
- vnf_src_interface = self._parse_vnf_interface(args.get("source"))\r
vnf_dst_name = self._parse_vnf_name(args.get("destination"))\r
- vnf_dst_interface = self._parse_vnf_interface(args.get("destination"))\r
- weight = args.get("weight")\r
+\r
+ params = self._create_dict(\r
+ vnf_src_interface=self._parse_vnf_interface(args.get("source")),\r
+ vnf_dst_interface=self._parse_vnf_interface(args.get("destination")),\r
+ weight=args.get("weight"),\r
+ match=args.get("match"),\r
+ cookie=args.get("cookie"))\r
+\r
r = self.c.network_action_stop(\r
#args.get("datacenter"),\r
vnf_src_name,\r
vnf_dst_name,\r
- vnf_src_interface=vnf_src_interface,\r
- vnf_dst_interface=vnf_dst_interface,\r
- weight=weight)\r
+ params)\r
pp.pprint(r)\r
\r
def _parse_vnf_name(self, vnf_name_str):\r
\r
return vnf_interface\r
\r
+ def _create_dict(self, **kwargs):\r
+ return kwargs\r
\r
parser = argparse.ArgumentParser(description='son-emu network')\r
parser.add_argument(\r
parser.add_argument(\r
"--weight", "-w", dest="weight",\r
help="weight metric to calculate the path")\r
+parser.add_argument(\r
+ "--match", "-m", dest="match",\r
+ help="string holding extra matches for the flow entries")\r
+parser.add_argument(\r
+ "--bidirectional", "-b", dest="bidirectional",\r
+ action='store_true',\r
+ help="add/remove the flow entries in 2 directions")\r
+parser.add_argument(\r
+ "--cookie", "-c", dest="cookie",\r
+ help="cookie for this flow")\r
\r
def main(argv):\r
args = vars(parser.parse_args(argv))\r