Required changes to support OF1.4, 1.5.
- OVS with OF1.4 passed `stc smoke` test
- OVS with OF1.5 still has issue
As of OVS 2.5.0, OF1.5 mode responds with ill-formed of_meter_features_stats_reply
org.projectfloodlight.openflow.exceptions.OFParseError: Wrong length: Expected=40(40), got=32
at org.projectfloodlight.openflow.protocol.ver15.OFMeterFeaturesStatsReplyVer15$Reader.readFrom(OFMeterFeaturesStatsReplyVer15.java:281)
Change-Id: Ib78b9d92ecfb4bb667e24c4ee95bcd09aec160a6
diff --git a/protocols/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/OFChannelHandler.java b/protocols/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/OFChannelHandler.java
index 76019fd..100203f 100644
--- a/protocols/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/OFChannelHandler.java
+++ b/protocols/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/OFChannelHandler.java
@@ -1363,11 +1363,12 @@
// The OF protocol requires us to start things off by sending the highest
// version of the protocol supported.
- // bitmap represents OF1.0, OF1.3, and OF1.4
+ // bitmap represents OF1.0, OF1.3, OF1.4, and OF1.5
// see Sec. 7.5.1 of the OF1.3.4 spec
U32 bitmap = U32.ofRaw((0b1 << OFVersion.OF_10.getWireVersion()) |
(0b1 << OFVersion.OF_13.getWireVersion()) |
- (0b1 << OFVersion.OF_14.getWireVersion()));
+ (0b1 << OFVersion.OF_14.getWireVersion()) |
+ (0b1 << OFVersion.OF_15.getWireVersion()));
OFVersion version = Optional.ofNullable(ofVersion).orElse(OFVersion.OF_13);
OFHelloElem hem = OFFactories.getFactory(version)
.buildHelloElemVersionbitmap()