<div dir="ltr">Running ONOS v 2.2.2 and mininet v 2.2.2 on Ubuntu 20.04, on a qemu based virtual machine.<div><br></div><div>ONOS will not talk to the OpenVswitch using OpenFlow protocol. ONOS shows the error:<div>2020-10-22T03:26:47,925 | ERROR | onos-of-worker-3 | OFChannelHandler                 | 203 - org.onosproject.onos-protocols-openflow-ctl - 2.2.2 | Error while processing message from switch [/<a href="http://127.0.0.1:35464">127.0.0.1:35464</a> DPID[00:00:00:00:00:00:02:01]]state WAIT_METER_FEATURES_REPLY<br>io.netty.handler.codec.DecoderException: org.projectfloodlight.openflow.exceptions.OFParseError: Wrong length: Expected=40(40), got=32<br>        at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:472) ~[?:?]<br>        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:278) ~[?:?]<br>        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) [!/:4.1.35.Final]<br>        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) [!/:4.1.35.Final]<br>        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) [!/:4.1.35.Final]<br>        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1408) [!/:4.1.35.Final]<br>        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) [!/:4.1.35.Final]<br>        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) [!/:4.1.35.Final]<br>        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930) [!/:4.1.35.Final]<br>        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) [!/:4.1.35.Final]<br>        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:682) [!/:4.1.35.Final]<br>        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:617) [!/:4.1.35.Final]<br>        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:534) [!/:4.1.35.Final]<br>        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496) [!/:4.1.35.Final]<br>        at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:906) [!/:4.1.35.Final]<br>        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [!/:4.1.35.Final]<br>        at java.lang.Thread.run(Thread.java:834) [?:?]<br>Caused by: org.projectfloodlight.openflow.exceptions.OFParseError: Wrong length: Expected=40(40), got=32<br>        at org.projectfloodlight.openflow.protocol.ver15.OFMeterFeaturesStatsReplyVer15$Reader.readFrom(OFMeterFeaturesStatsReplyVer15.java:281) ~[?:?]<br>        at org.projectfloodlight.openflow.protocol.ver15.OFStatsReplyVer15$Reader.readFrom(OFStatsReplyVer15.java:94) ~[?:?]<br>        at org.projectfloodlight.openflow.protocol.ver15.OFMessageVer15$Reader.readFrom(OFMessageVer15.java:54) ~[?:?]<br>        at org.projectfloodlight.openflow.protocol.ver15.OFMessageVer15$Reader.readFrom(OFMessageVer15.java:39) ~[?:?]<br>        at org.projectfloodlight.openflow.protocol.OFFactories$GenericReader.readFrom(OFFactories.java:81) ~[?:?]<br>        at org.projectfloodlight.openflow.protocol.OFFactories$GenericReader.readFrom(OFFactories.java:53) ~[?:?]<br>        at org.onosproject.openflow.controller.impl.OFMessageDecoder.decode(OFMessageDecoder.java:71) ~[?:?]<br>        at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:502) ~[?:?]<br>        at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:441) ~[?:?]<br>        ... 16 more<br></div><div>I am using:</div><div>me@network:~$ ovs-vswitchd --version<br>ovs-vswitchd (Open vSwitch) 2.13.1<br><br>me@network:~/onos$ sudo ovs-ofctl show s1<br>OFPT_FEATURES_REPLY (xid=0x2): dpid:0000000000000001<br>n_tables:254, n_buffers:0<br>capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP<br>actions: output enqueue set_vlan_vid set_vlan_pcp strip_vlan mod_dl_src mod_dl_dst mod_nw_src mod_nw_dst mod_nw_tos mod_tp_src mod_tp_dst<br> 1(s1-eth1): addr:3a:2d:6c:e9:40:d7<br>     config:     0<br>     state:      0<br>     current:    10GB-FD COPPER<br>     speed: 10000 Mbps now, 0 Mbps max<br> 2(s1-eth2): addr:fa:0e:e6:39:29:be<br>     config:     0<br>     state:      0<br>     current:    10GB-FD COPPER<br>     speed: 10000 Mbps now, 0 Mbps max<br> LOCAL(s1): addr:32:2c:03:6c:28:4e<br>     config:     PORT_DOWN<br>     state:      LINK_DOWN<br>     speed: 0 Mbps now, 0 Mbps max<br>OFPT_GET_CONFIG_REPLY (xid=0x4): frags=normal miss_send_len=0<br><br></div><div>However if I run:</div><div>sudo mn --controller=remote,ip=127.0.0.1 --switch=default,protocols=OpenFlow10 --topo tree,2,2<br></div><div>Everything works, If I add any additional  OpenFlow protocols things start to break.</div><div><br></div><div>Phil </div></div></div>