ZX and Open Daylight

  • 15 Replies
  • 7905 Views
*

Elwood_G

  • Newbie
  • *
  • 12
    • View Profile
ZX and Open Daylight
« on: April 20, 2016, 01:42:01 AM »
Hi,

I got my new ZX today and have two questions:

1: Am I right to assume that 20 flows is the limit?
2: I tried to connect it to ODL. However that first failed with the message 'failed pushing master role' after which I removed the master jumper now it runs into a timeout.
It works fine with floodlight, though. ODL Version is beryllium. Anybody has a clue here?

Regards,

Konstantin

Re: ZX and Open Daylight
« Reply #1 on: April 20, 2016, 02:38:01 PM »
1: Am I right to assume that 20 flows is the limit?
2: I tried to connect it to ODL. However that first failed with the message 'failed pushing master role' after which I removed the master jumper now it runs into a timeout.
It works fine with floodlight, though. ODL Version is beryllium. Anybody has a clue here?

Hiya,

I'm not familiar with how ODL works but I'll have a go at helping you out.

1: According to a past reply the switch is expected to support around 512 flows.
2: Which version of OpenFlow are you using in ODL? The Zodiac switch supports 1.0 and some of 1.3. Also, have you set the IP addresses and listening on the correct controller port? -- check the user guide for this.

My first guess is that you may be trying to push a rule for an feature from OpenFlow which is not yet supported. If you can, try and run ODL on OpenFlow 1.0, and see how it behaves.

"~512 flows" --> http://forums.northboundnetworks.com/index.php?topic=31.msg86#msg86
user guide (see top of page 10) --> http://forums.northboundnetworks.com/downloads/zodiac_fx/guides/ZodiacFX_UserGuide_0216.pdf
« Last Edit: April 20, 2016, 02:46:36 PM by softwaredefinediddy »
~Jordan Ansell

*

Elwood_G

  • Newbie
  • *
  • 12
    • View Profile
Re: ZX and Open Daylight
« Reply #2 on: April 20, 2016, 09:29:59 PM »
Well I tried 1.0 and 1.3 as from the debug output of Open Daylight it is something in the negotiation between the two. So IP Connectivity is given.
I am currently using floodlight which works fine. I will post the debug output later (I can also provide a pcap file of the negotiation.

*

Elwood_G

  • Newbie
  • *
  • 12
    • View Profile
Re: ZX and Open Daylight
« Reply #3 on: April 21, 2016, 06:12:51 AM »
OK as I saw, that there was Beryllium SR1 out I tried that. Same effect.

The log file of ODL says:

2016-04-20 21:49:05,870 | WARN  | ofEntity-10      | OfEntityManager                  | 176 - org.opendaylight.openflowplugin - 0.2.1.Beryllium-SR1 | onDeviceOwnershipChanged: Controller is not able to set the MASTER role for 123917682135720.
org.opendaylight.openflowplugin.openflow.md.core.session.RolePushException: Giving up role change: current generation-id can not be read
        at org.opendaylight.openflowplugin.openflow.md.core.session.RolePushTask.call(RolePushTask.java:129)[176:org.opendaylight.openflowplugin:0.2.1.Beryllium-SR1]
        at org.opendaylight.openflowplugin.openflow.md.core.session.RolePushTask.call(RolePushTask.java:38)[176:org.opendaylight.openflowplugin:0.2.1.Beryllium-SR1]
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_99]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_99]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_99]
        at java.lang.Thread.run(Thread.java:745)[:1.7.0_99]
2016-04-20 21:49:05,870 | INFO  | ofEntity-10      | OfEntityManager                  | 176 - org.opendaylight.openflowplugin - 0.2.1.Beryllium-SR1 | onDeviceOwnershipChanged: ..and this *instance* is owner of the device 123917682135720. Closing the registration, so other entity can become owner and attempt to be master controller.

This loops forever.

I have attached a pcap file 192.168.1.28 is the Zodiac .21 is Open Daylight. I seems the switch sends an OF Echo that is not answered.

*

Elwood_G

  • Newbie
  • *
  • 12
    • View Profile
Re: ZX and Open Daylight
« Reply #4 on: April 25, 2016, 05:45:52 AM »
0.58 -> no improvement

Re: ZX and Open Daylight
« Reply #5 on: April 26, 2016, 12:12:04 PM »
It looks as if ODL is trying to change the active controller to another one. The problem is possibly either the Zodiac switch doesn't understand the multiple-controllers side of things, or ODL is crashing because it cannot find a second controller.  From the pcap file, ODL appears to be looping, trying to change ownership of the switch.

If you try this with another switch (say OVS or within mininet) how does the traffic look? (RoleChange messages etc) Does it behave similarly?

I use my university's switches, but my own is arriving this week. Once I have it I'll see if I have a similar issue with ODL.
~Jordan Ansell

*

Elwood_G

  • Newbie
  • *
  • 12
    • View Profile
Re: ZX and Open Daylight
« Reply #6 on: April 29, 2016, 08:11:16 AM »
Hi,

I will try to produce a pcap with OVS as well as a corsa switch since I just got access to their kit for the next week, and attach that here.
I agree that this runs into a loop (and if You look at all the exceptions of an ODL log file I start to question them as 'the' SDN controller :)

Regards,

Konstantin

*

Elwood_G

  • Newbie
  • *
  • 12
    • View Profile
Re: ZX and Open Daylight
« Reply #7 on: May 01, 2016, 07:59:39 AM »
Hi,

find attached the pcap file of an Open vSwitch connecting to 0.4.1

Konstantin

Re: ZX and Open Daylight
« Reply #8 on: May 01, 2016, 11:48:24 AM »
Thanks for that!
The problem appears to stem from ODL stacking the role_request and barrier_request headers in a single message, and the zodiac not expecting this behaviour.

The trace file from OVS shows two replies to the single request message. In the zodiac tracefile, the zodiac switch doesn't seem to do this, instead only replying once.

Looking closer at the "barrier_request" message from ODL, it's actually made up of a role_request header and a barrier_request header. I'm not certain, but reading through the OpenFlow 1.3.5 protocol, this ought to be split into two separate packets -- first a role_request then a barrier_request. Regardless, OVS seems to deal with this behaviour of ODL happily.
I'm unclear on how this OFHeader-stacking behaviour is defined elsewhere. Perhaps it's what OFPv1.4's bundles/atom operations introduce? Maybe it's a quirk of something in ODL's sending stack.

In the Zodiac source code, openflow_13.c, the of13_message() function only allows a single response to a message. In the case of a paired barrier-role request, it responds to only the first (role_request message) without then sending a barrier_reply message.

While we're looking at it, the role_reply message appears to have an incorrect TCP header length in WireShark too, this is something that should be investigated I guess.
« Last Edit: May 01, 2016, 11:59:26 AM by softwaredefinediddy »
~Jordan Ansell

*

Elwood_G

  • Newbie
  • *
  • 12
    • View Profile
Re: ZX and Open Daylight
« Reply #9 on: May 02, 2016, 01:52:02 AM »
Hmm I guess to cross reference I will look at what ODL does with the corsa switch I currently have access to.
These two at least get the handshake correct. I also have older ODL versions lying around maybe they behave differently.

*

Elwood_G

  • Newbie
  • *
  • 12
    • View Profile
Re: ZX and Open Daylight
« Reply #10 on: May 15, 2016, 12:22:55 AM »
So I upgraded to Firmware 0.59 and Open Daylight 0.4.2 (Beryllium SR2) still no luck.

Any hope for this?

*

Paul Zanna

  • Moderator
  • Sr. Member
  • *****
  • 370
    • View Profile
    • Northbound Networks
Re: ZX and Open Daylight
« Reply #11 on: July 06, 2016, 07:37:11 PM »
Sorry guys, looks like I completely missed this thread  :-[
I'll make sure it is fixed in the next release (0.65).

Regards,
Paul

*

Paul Zanna

  • Moderator
  • Sr. Member
  • *****
  • 370
    • View Profile
    • Northbound Networks
Re: ZX and Open Daylight
« Reply #12 on: July 07, 2016, 06:39:56 PM »
I just tried firmware version 0.64 with Lithium and it seems to work ok (see attached). Granted there is an issue with displaying flows in the web UI but everything else looks good.
If someone could please try 0.64 with Beryllium and let me know because I can't get it to install correctly.

Regards,
Paul

*

Elwood_G

  • Newbie
  • *
  • 12
    • View Profile
Re: ZX and Open Daylight
« Reply #13 on: July 10, 2016, 01:09:10 AM »
Hi

I tested 0.64 against Beryllium 0.4.2 same result. Log:tail shows me 'Role push request failed for device' again and again.

BTW is it possible that 0.64 is way faster in accepting flow compared to 0.61?

Regards,

Konstantin

*

Paul Zanna

  • Moderator
  • Sr. Member
  • *****
  • 370
    • View Profile
    • Northbound Networks
Re: ZX and Open Daylight
« Reply #14 on: July 11, 2016, 04:09:10 PM »
Hi Konstantin,

Ok, I'll keep trying to get Beryllium working so I can test it, something has obviously changed between the two versions. Just to confirm are you able to please check it on Lithium also to make sure it is a ODL version issue and not something else?

The firmware should be a lot faster as we made a number of performance improvements in 0.63.

Regards,
Paul