class MonitorLinkAction(Resource):
"""
- Add or remove chains between VNFs. These chain links are implemented as flow entries in the networks' SDN switches.
+ Add or remove flow monitoring on chains between VNFs.
+ These chain links are implemented as flow entries in the networks' SDN switches.
+ The monitoring is an extra flow entry on top of the existing chain, with a specific match. (preserving the chaining)
+ The counters of this new monitoring flow are exported
:param vnf_src_name: VNF name of the source of the link
:param vnf_dst_name: VNF name of the destination of the link
:param vnf_src_interface: VNF interface name of the source of the link
# setup endpoints
+ # compute related actions (start/stop VNFs, get info)
self.api.add_resource(Compute,
"/restapi/compute/<dc_label>/<compute_name>",
"/restapi/compute/<dc_label>/<compute_name>/<resource>/<value>")
self.api.add_resource(DatacenterStatus, "/restapi/datacenter/<dc_label>")
self.api.add_resource(DatacenterList, "/restapi/datacenter")
+
+ # network related actions (setup chaining between VNFs)
self.api.add_resource(NetworkAction,
"/restapi/network/<vnf_src_name>/<vnf_dst_name>")
+
+ # monitoring related actions
+ # export a network interface traffic rate counter
self.api.add_resource(MonitorInterfaceAction,
"/restapi/monitor/vnf/<vnf_name>/<metric>",
"/restapi/monitor/vnf/<vnf_name>/<vnf_interface>/<metric>",
"/restapi/monitor/vnf/<vnf_name>/<vnf_interface>/<metric>/<cookie>")
+ # export flow traffic counter, of a manually pre-installed flow entry, specified by its cookie
self.api.add_resource(MonitorFlowAction,
"/restapi/monitor/flow/<vnf_name>/<metric>/<cookie>",
"/restapi/monitor/flow/<vnf_name>/<vnf_interface>/<metric>/<cookie>")
+ # install monitoring of a specific flow on a pre-existing link in the service.
+ # the traffic counters of the newly installed monitor flow are exported
self.api.add_resource(MonitorLinkAction,
"/restapi/monitor/link/<vnf_src_name>/<vnf_dst_name>")