[ovs-discuss] Potential Bug

Phil Hopkins phil.hopkins at gmail.com
Thu Oct 22 20:53:39 UTC 2020


Running ONOS v 2.2.2 and mininet v 2.2.2 on Ubuntu 20.04, on a qemu based
virtual machine.

ONOS will not talk to the OpenVswitch using OpenFlow protocol. ONOS shows
the error:
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 [/127.0.0.1:35464
DPID[00:00:00:00:00:00:02:01]]state WAIT_METER_FEATURES_REPLY
io.netty.handler.codec.DecoderException:
org.projectfloodlight.openflow.exceptions.OFParseError: Wrong length:
Expected=40(40), got=32
        at
io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:472)
~[?:?]
        at
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:278)
~[?:?]
        at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
[!/:4.1.35.Final]
        at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
[!/:4.1.35.Final]
        at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
[!/:4.1.35.Final]
        at
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1408)
[!/:4.1.35.Final]
        at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
[!/:4.1.35.Final]
        at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
[!/:4.1.35.Final]
        at
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930)
[!/:4.1.35.Final]
        at
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
[!/:4.1.35.Final]
        at
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:682)
[!/:4.1.35.Final]
        at
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:617)
[!/:4.1.35.Final]
        at
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:534)
[!/:4.1.35.Final]
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496)
[!/:4.1.35.Final]
        at
io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:906)
[!/:4.1.35.Final]
        at
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
[!/:4.1.35.Final]
        at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: org.projectfloodlight.openflow.exceptions.OFParseError: Wrong
length: Expected=40(40), got=32
        at
org.projectfloodlight.openflow.protocol.ver15.OFMeterFeaturesStatsReplyVer15$Reader.readFrom(OFMeterFeaturesStatsReplyVer15.java:281)
~[?:?]
        at
org.projectfloodlight.openflow.protocol.ver15.OFStatsReplyVer15$Reader.readFrom(OFStatsReplyVer15.java:94)
~[?:?]
        at
org.projectfloodlight.openflow.protocol.ver15.OFMessageVer15$Reader.readFrom(OFMessageVer15.java:54)
~[?:?]
        at
org.projectfloodlight.openflow.protocol.ver15.OFMessageVer15$Reader.readFrom(OFMessageVer15.java:39)
~[?:?]
        at
org.projectfloodlight.openflow.protocol.OFFactories$GenericReader.readFrom(OFFactories.java:81)
~[?:?]
        at
org.projectfloodlight.openflow.protocol.OFFactories$GenericReader.readFrom(OFFactories.java:53)
~[?:?]
        at
org.onosproject.openflow.controller.impl.OFMessageDecoder.decode(OFMessageDecoder.java:71)
~[?:?]
        at
io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:502)
~[?:?]
        at
io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:441)
~[?:?]
        ... 16 more
I am using:
me at network:~$ ovs-vswitchd --version
ovs-vswitchd (Open vSwitch) 2.13.1

me at network:~/onos$ sudo ovs-ofctl show s1
OFPT_FEATURES_REPLY (xid=0x2): dpid:0000000000000001
n_tables:254, n_buffers:0
capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP
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
 1(s1-eth1): addr:3a:2d:6c:e9:40:d7
     config:     0
     state:      0
     current:    10GB-FD COPPER
     speed: 10000 Mbps now, 0 Mbps max
 2(s1-eth2): addr:fa:0e:e6:39:29:be
     config:     0
     state:      0
     current:    10GB-FD COPPER
     speed: 10000 Mbps now, 0 Mbps max
 LOCAL(s1): addr:32:2c:03:6c:28:4e
     config:     PORT_DOWN
     state:      LINK_DOWN
     speed: 0 Mbps now, 0 Mbps max
OFPT_GET_CONFIG_REPLY (xid=0x4): frags=normal miss_send_len=0

However if I run:
sudo mn --controller=remote,ip=127.0.0.1
--switch=default,protocols=OpenFlow10 --topo tree,2,2
Everything works, If I add any additional  OpenFlow protocols things start
to break.

Phil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-discuss/attachments/20201022/42f52754/attachment.html>


More information about the discuss mailing list