X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Femuvim%2Fcli%2Fnetwork.py;h=48ff33a6a3697a91797e80d1261672c43ed31271;hb=895477dd7ea7969bfc42d4e70e090d2be8c31382;hp=bf107e8298d03a07d32a5a1d7f7c1c31a387910d;hpb=700ed322aecbd955993cc559473690aca0b7efbb;p=osm%2Fvim-emu.git diff --git a/src/emuvim/cli/network.py b/src/emuvim/cli/network.py index bf107e8..48ff33a 100755 --- a/src/emuvim/cli/network.py +++ b/src/emuvim/cli/network.py @@ -1,6 +1,7 @@ """ son-emu network CLI (c) 2016 by Manuel Peuster +Steven Van Rossem """ import argparse @@ -25,7 +26,7 @@ class ZeroRpcClient(object): # call the local method with the same name as the command arg getattr(self, args["command"])(args) else: - print "Command not implemented." + print("Command not implemented.") def add(self, args): vnf_src_name = self._parse_vnf_name(args.get("source")) @@ -35,7 +36,9 @@ class ZeroRpcClient(object): vnf_src_interface=self._parse_vnf_interface(args.get("source")), vnf_dst_interface=self._parse_vnf_interface(args.get("destination")), weight=args.get("weight"), - match=args.get("match")) + match=args.get("match"), + bidirectional=args.get("bidirectional"), + cookie=args.get("cookie")) # note zerorpc does not support named arguments r = self.c.network_action_start( @@ -53,7 +56,9 @@ class ZeroRpcClient(object): vnf_src_interface=self._parse_vnf_interface(args.get("source")), vnf_dst_interface=self._parse_vnf_interface(args.get("destination")), weight=args.get("weight"), - match=args.get("match")) + match=args.get("match"), + bidirectional=args.get("bidirectional"), + cookie=args.get("cookie")) r = self.c.network_action_stop( #args.get("datacenter"), @@ -80,7 +85,8 @@ class ZeroRpcClient(object): parser = argparse.ArgumentParser(description='son-emu network') parser.add_argument( "command", - help="Action to be executed: add|remove") + choices=['add', 'remove'], + help="Action to be executed.") parser.add_argument( "--datacenter", "-d", dest="datacenter", help="Data center to in which the network action should be initiated") @@ -96,6 +102,13 @@ parser.add_argument( parser.add_argument( "--match", "-m", dest="match", help="string holding extra matches for the flow entries") +parser.add_argument( + "--bidirectional", "-b", dest="bidirectional", + action='store_true', + help="add/remove the flow entries from src to dst and back") +parser.add_argument( + "--cookie", "-c", dest="cookie", + help="cookie for this flow, as easy to use identifier (eg. per tenant/service)") def main(argv): args = vars(parser.parse_args(argv))