def __init__(self, net):
self.net = net
- def network_action_start(self, vnf_src_name, vnf_dst_name):
+ def network_action_start(self, vnf_src_name, vnf_dst_name, vnf_src_interface=None, vnf_dst_interface=None):
# call DCNetwork method, not really datacenter specific API for now...
# provided dc name needs to be part of API endpoint
# no check if vnfs are really connected to this datacenter...
logging.debug("RPC CALL: network chain start")
try:
c = self.net.setChain(
- vnf_src_name, vnf_dst_name)
+ vnf_src_name, vnf_dst_name, vnf_src_interface, vnf_dst_interface)
return str(c)
except Exception as ex:
logging.exception("RPC error.")
return ex.message
- def network_action_stop(self, vnf_src_name, vnf_dst_name):
+ def network_action_stop(self, vnf_src_name, vnf_dst_name, vnf_src_interface=None, vnf_dst_interface=None):
# call DCNetwork method, not really datacenter specific API for now...
# provided dc name needs to be part of API endpoint
# no check if vnfs are really connected to this datacenter...
logging.debug("RPC CALL: network chain stop")
try:
c = self.net.setChain(
- vnf_src_name, vnf_dst_name, cmd='del-flows')
+ vnf_src_name, vnf_dst_name, vnf_src_interface, vnf_dst_interface, cmd='del-flows')
return c
except Exception as ex:
logging.exception("RPC error.")
return ex.message
- # get egress(default) or ingress rate of a vnf
- def monitor_get_rate(self, vnf_name, direction):
- logging.debug("RPC CALL: get rate")
+ # setup the rate measurement for a vnf interface
+ def setup_metric(self, vnf_name, vnf_interface, metric):
+ logging.debug("RPC CALL: setup metric")
try:
- c = self.net.monitor_agent.get_rate(vnf_name, direction)
+ c = self.net.monitor_agent.setup_metric(vnf_name, vnf_interface, metric)
return c
except Exception as ex:
logging.exception("RPC error.")
return ex.message
+ # remove the rate measurement for a vnf interface
+ def stop_metric(self, vnf_name, vnf_interface, metric):
+ logging.debug("RPC CALL: setup metric")
+ try:
+ c = self.net.monitor_agent.remove_metric(vnf_name, vnf_interface, metric)
+ return c
+ except Exception as ex:
+ logging.exception("RPC error.")
+ return ex.message