[netvirt-dev] ISE in openflowjava for msg deserialization failure


Aizer, Koby <koby.aizer@...>
 

Hi,

I looked into this exception a little bit, and I think it is caused by flow stats received from table=49. This table includes rules like:
cookie=0x8600000, duration=1.507s, table=49, n_packets=0, n_bytes=0, hard_timeout=10, priority=0,reg1=0x2/0xfffff,dl_src=fa:16:3e:7d:5a:42 actions=load:0x1->NXM_NX_REG4[0..7]

I've tcpdumped the flowstats, and for some reason the REG1 OXM value is 8byte long, while openflowplugin assumes it is 4byte long - and I think this causes the decoder to fail (the exception is just a side effect of the decoder trying to decode the additional 4bytes as the next OXM field) . Other reg matches (for example, the ones from table=220) are indeed 4byte long.
Not sure why the table=49 reg matches have a different size, the only reason I can think of is that those matches are created by OVS learn action. My knowledge pretty much ends here - Could it be those are 64bit register matches or something?

I attached the pcap capture to the bug so others can take a look as well.

Koby

-----Original Message-----
From: netvirt-dev-bounces@lists.opendaylight.org [mailto:netvirt-dev-bounces@lists.opendaylight.org] On Behalf Of Jamo Luhrsen
Sent: Thursday, March 9, 2017 6:53 PM
To: Abhijit Kumbhare <abhijitkoss@gmail.com>
Cc: openflowjava-dev@lists.opendaylight.org; netvirt-dev@lists.opendaylight.org; openflowplugin-dev@lists.opendaylight.org
Subject: Re: [netvirt-dev] [openflowjava-dev] ISE in openflowjava for msg deserialization failure

yeah, thats it.

JamO

On 03/09/2017 08:44 AM, Abhijit Kumbhare wrote:
Jamo,

So is this the new bug for this? https://bugs.opendaylight.org/show_bug.cgi?id=7897
<https://bugs.opendaylight.org/show_bug.cgi?id=7897> ?

Abhijit

On Tue, Mar 7, 2017 at 11:05 AM, Jamo Luhrsen <jluhrsen@gmail.com <mailto:jluhrsen@gmail.com>> wrote:

Hi,

I'm seeing this exception [0] in our karaf logs of our netvirt CSIT. It can get kind of
noisy and I'm not sure if it's some problem we need to debug or not. At first I assumed
it was bug 5173 [1], but Luis corrected me. We do have a new bug for it [2]. Is there
any update?

btw, here is a full karaf log [3] from one of our CSIT (it shows up 250 times)

Here is the first line of the exception:

2017-03-07 12:44:19,706 | WARN | entLoopGroup-7-2 | OFDecoder | 304 -
org.opendaylight.openflowjava.openflow-protocol-impl - 0.9.0.SNAPSHOT | Message deserialization failed
java.lang.IllegalStateException: Deserializer for key: msgVersion: 4 objectClass:
org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry msgType: 15 oxm_field:
127 experimenterID: null was not found - please verify that all needed deserializers ale loaded correctly


Thanks,
JamO

[0] http://termbin.com/tkms
[1] https://bugs.opendaylight.org/show_bug.cgi?id=5173 <https://bugs.opendaylight.org/show_bug.cgi?id=5173>
[2] https://bugs.opendaylight.org/show_bug.cgi?id=7897 <https://bugs.opendaylight.org/show_bug.cgi?id=7897>
[3]
https://logs.opendaylight.org/releng/jenkins092/netvirt-csit-1node-openstack-newton-upstream-stateful-carbon/162/archives/odl1_karaf.log.gz
<https://logs.opendaylight.org/releng/jenkins092/netvirt-csit-1node-openstack-newton-upstream-stateful-carbon/162/archives/odl1_karaf.log.gz>
_______________________________________________
openflowjava-dev mailing list
openflowjava-dev@lists.opendaylight.org <mailto:openflowjava-dev@lists.opendaylight.org>
https://lists.opendaylight.org/mailman/listinfo/openflowjava-dev
<https://lists.opendaylight.org/mailman/listinfo/openflowjava-dev>

_______________________________________________
netvirt-dev mailing list
netvirt-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/netvirt-dev


Aizer, Koby <koby.aizer@...>
 

Hi again,

Alon & I looked a little bit more into this issue and we found that the reason for the different size of the REG1 OXM is because the match is masked (comparing to the table=220 match which wasn't), and I think openflowplugin doesn't support this correctly.
I've updated bug [1] with this analysis, and moved the bug from netvirt to openflowplugin - it'd be great if someone can confirm this analysis is correct.

Thanks,
Koby

[1] https://bugs.opendaylight.org/show_bug.cgi?id=7897

-----Original Message-----
From: netvirt-dev-bounces@lists.opendaylight.org [mailto:netvirt-dev-bounces@lists.opendaylight.org] On Behalf Of Aizer, Koby
Sent: Thursday, March 9, 2017 10:31 PM
To: Jamo Luhrsen <jluhrsen@gmail.com>; Abhijit Kumbhare <abhijitkoss@gmail.com>
Cc: openflowjava-dev@lists.opendaylight.org; netvirt-dev@lists.opendaylight.org; openflowplugin-dev@lists.opendaylight.org
Subject: Re: [netvirt-dev] [openflowjava-dev] ISE in openflowjava for msg deserialization failure

Hi,

I looked into this exception a little bit, and I think it is caused by flow stats received from table=49. This table includes rules like:
cookie=0x8600000, duration=1.507s, table=49, n_packets=0, n_bytes=0, hard_timeout=10, priority=0,reg1=0x2/0xfffff,dl_src=fa:16:3e:7d:5a:42 actions=load:0x1->NXM_NX_REG4[0..7]

I've tcpdumped the flowstats, and for some reason the REG1 OXM value is 8byte long, while openflowplugin assumes it is 4byte long - and I think this causes the decoder to fail (the exception is just a side effect of the decoder trying to decode the additional 4bytes as the next OXM field) . Other reg matches (for example, the ones from table=220) are indeed 4byte long.
Not sure why the table=49 reg matches have a different size, the only reason I can think of is that those matches are created by OVS learn action. My knowledge pretty much ends here - Could it be those are 64bit register matches or something?

I attached the pcap capture to the bug so others can take a look as well.

Koby

-----Original Message-----
From: netvirt-dev-bounces@lists.opendaylight.org [mailto:netvirt-dev-bounces@lists.opendaylight.org] On Behalf Of Jamo Luhrsen
Sent: Thursday, March 9, 2017 6:53 PM
To: Abhijit Kumbhare <abhijitkoss@gmail.com>
Cc: openflowjava-dev@lists.opendaylight.org; netvirt-dev@lists.opendaylight.org; openflowplugin-dev@lists.opendaylight.org
Subject: Re: [netvirt-dev] [openflowjava-dev] ISE in openflowjava for msg deserialization failure

yeah, thats it.

JamO

On 03/09/2017 08:44 AM, Abhijit Kumbhare wrote:
Jamo,

So is this the new bug for this? https://bugs.opendaylight.org/show_bug.cgi?id=7897
<https://bugs.opendaylight.org/show_bug.cgi?id=7897> ?

Abhijit

On Tue, Mar 7, 2017 at 11:05 AM, Jamo Luhrsen <jluhrsen@gmail.com <mailto:jluhrsen@gmail.com>> wrote:

Hi,

I'm seeing this exception [0] in our karaf logs of our netvirt CSIT. It can get kind of
noisy and I'm not sure if it's some problem we need to debug or not. At first I assumed
it was bug 5173 [1], but Luis corrected me. We do have a new bug for it [2]. Is there
any update?

btw, here is a full karaf log [3] from one of our CSIT (it shows up 250 times)

Here is the first line of the exception:

2017-03-07 12:44:19,706 | WARN | entLoopGroup-7-2 | OFDecoder | 304 -
org.opendaylight.openflowjava.openflow-protocol-impl - 0.9.0.SNAPSHOT | Message deserialization failed
java.lang.IllegalStateException: Deserializer for key: msgVersion: 4 objectClass:
org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry msgType: 15 oxm_field:
127 experimenterID: null was not found - please verify that all needed deserializers ale loaded correctly


Thanks,
JamO

[0] http://termbin.com/tkms
[1] https://bugs.opendaylight.org/show_bug.cgi?id=5173 <https://bugs.opendaylight.org/show_bug.cgi?id=5173>
[2] https://bugs.opendaylight.org/show_bug.cgi?id=7897 <https://bugs.opendaylight.org/show_bug.cgi?id=7897>
[3]
https://logs.opendaylight.org/releng/jenkins092/netvirt-csit-1node-openstack-newton-upstream-stateful-carbon/162/archives/odl1_karaf.log.gz
<https://logs.opendaylight.org/releng/jenkins092/netvirt-csit-1node-openstack-newton-upstream-stateful-carbon/162/archives/odl1_karaf.log.gz>
_______________________________________________
openflowjava-dev mailing list
openflowjava-dev@lists.opendaylight.org <mailto:openflowjava-dev@lists.opendaylight.org>
https://lists.opendaylight.org/mailman/listinfo/openflowjava-dev
<https://lists.opendaylight.org/mailman/listinfo/openflowjava-dev>

_______________________________________________
netvirt-dev mailing list
netvirt-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/netvirt-dev
_______________________________________________
netvirt-dev mailing list
netvirt-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/netvirt-dev