VOL-955 Handling of port stats in OFAgent
Change-Id: Ib73bcb539dc573e577e5c9d736e425256c6a8972
diff --git a/ofagent/of_protocol_handler.py b/ofagent/of_protocol_handler.py
index d6aa92d..8d09461 100644
--- a/ofagent/of_protocol_handler.py
+++ b/ofagent/of_protocol_handler.py
@@ -249,10 +249,16 @@
def handle_meter_features_request(self, req):
self.cxn.send(ofp.message.bad_request_error_msg())
+ @inlineCallbacks
def handle_port_stats_request(self, req):
- port_stats = [] # see https://jira.opencord.org/browse/CORD-825
- self.cxn.send(ofp.message.port_stats_reply(
- xid=req.xid,entries=port_stats))
+ try:
+ ports = yield self.rpc.list_ports(self.device_id)
+ port_stats = [to_loxi(p.ofp_port_stats) for p in ports]
+ of_message = ofp.message.port_stats_reply(
+ xid=req.xid,entries=port_stats)
+ self.cxn.send(of_message)
+ except:
+ log.exception('failed-port_stats-request', req=req)
@inlineCallbacks
def handle_port_desc_request(self, req):