Flow decomposer support for Tech Profile Reference in metadata instead of using Flow Table ID as reference in Table 1.
Also in this patch:
- Update flow count field of meter stats
- ONU root field was True and because of this flow decomposer was not working properly - it is fixed (now onu root field is false) - related to VOL-1354
- Meter & write metadata support is added to vcli
- No-action (drop) flow support is added.
- Removed broken wildcard inport support and in-band control support
- Meter functions (meter stats reply, meter modify etc.) are fixed
- Metadata information passed on to the OLT and ONU Adapters.
- Meter Reference in all Flow Tables passed on to the OLT and ONU Adapters.
- Fixed unit tests and added more unit tests
- Fixed ponsim (partially) to deal with changes to flow decomposer
Change-Id: Id4b16fc05a6740a3f521b2cc4f6fdbff88da4fa5
diff --git a/ofagent/of_protocol_handler.py b/ofagent/of_protocol_handler.py
index 01f896b..813c8a8 100644
--- a/ofagent/of_protocol_handler.py
+++ b/ofagent/of_protocol_handler.py
@@ -132,7 +132,6 @@
elif self.role == ofp.OFPCR_ROLE_SLAVE:
self.cxn.send(ofp.message.bad_request_error_msg(code=ofp.OFPBRC_IS_SLAVE))
-
def handle_meter_mod_request(self, req):
if self.role == ofp.OFPCR_ROLE_MASTER or self.role == ofp.OFPCR_ROLE_EQUAL:
try:
@@ -148,10 +147,9 @@
@inlineCallbacks
def handle_meter_stats_request(self, req):
try:
- meter_stats = yield self.rpc.get_meter_stats(self.device_id)
- meter_stats = [to_loxi(m) for m in meter_stats]
- of_message = ofp.message.meter_stats_reply(xid=req.xid, entries=meter_stats)
- self.cxn.send(of_message)
+ meters = yield self.rpc.list_meters(self.device_id)
+ self.cxn.send(ofp.message.meter_stats_reply(
+ xid=req.xid, entries=[to_loxi(m.stats) for m in meters]))
except Exception, e:
log.exception("failed-meter-stats-request", req=req, e=e)