CPqD / ofsoftswitch13

OpenFlow 1.3 switch.
http://cpqd.github.com/ofsoftswitch13
304 stars 192 forks source link

openflow1.3 for openWrt on Linksys WRT54gl #175

Closed nofic closed 6 years ago

nofic commented 9 years ago

hi,

I have compiled an OpenWRT operating system following the instructions of the “Pantou" project for Linksys WRT54gl (on http://archive.openflow.org/wk/index.php/Pantou_:_OpenFlow_1.0_for_OpenWRT). Then, in order to add openFlow 1.3 extensions, I have followed the instructions on the github project (originally created for TP-Link TL-WR1043ND, https://github.com/CPqD/ofsoftswitch13/wiki/OpenFlow-1.3-for-OpenWRT ). I tried to connect my linksys router with a few controllers “floodlight” and “openmul”. with floodlight I get an openFlow error "Role message generation id is smaller than the current id" and with openmul I get no error messages presented in the controller but the controller doesn’t route the messages. Also, I captured messages on wireshark and I see OFPT_ERROR message with FPRRFC_BAD_ROLE type and OFPRRFC_BAD_ROLE code, and OFP_ERROR_MSG with OFPET_BAD_MATCH type and OFPBMC_BAD_PREREQ code.

Would really appreciate if you can guide me about something I may have missed in the process that can cause these problems.

thanks

ederlf commented 9 years ago

Hi,

Can you please make a wireshark capture to see which messages are being exchanged between the switch and the controllers?

RoniLevin commented 9 years ago

Hi, Here is the wireshark capture. These is the first error we saw in the wireshark capture. The controller in on 192.168.1.10, and the switch on 192.168.1.1.

Thank you.

message exchange - openmul

first error - openmul

ederlf commented 9 years ago

Weird, I cannot see a ROLE_REQUEST message.

Unfortunately I cannot make a test here because I do not have a wireless router. However I might be able to test with the current code because this code is the same for both versions.

Are you running some specific application on the controllers?

RoniLevin commented 9 years ago

We didn't use wireless to connect to the router. Everything is wired so far.

Regarding the controller, this is a capture using "openmul". Nothing was added to it. We just followed the instruction for basic download and operation of the controller.

------ edit ------ Just noticed that there are ROLE_REQUEST messages, they are just hidden with a few other messages. Here are the print screens those messages

screen shot 2015-05-27 at 13 44 00

screen shot 2015-05-27 at 13 44 48

ederlf commented 9 years ago

I pushed two commits to the open wrt branch. Please pull the changes, compile the code and see if the goes away.

RoniLevin commented 9 years ago

Unfortunately, it is still not working. After several attempts we were able to connect with the OpenMul. Here is the output from the switch: screen shot 2015-05-29 at 12 00 33

and the wireshark capture: screen shot 2015-05-29 at 12 03 18

Also, here is our try with the floodlight controller, if it can help debug the problem. floodlight output: screen shot 2015-05-29 at 11 47 54

switch output: screen shot 2015-05-29 at 11 48 34

wireshark output: screen shot 2015-05-29 at 11 47 30

As before, floodlight can't create a connection, openmul creates a connection with the switch, but no communication between two hosts that are connected to the switch.

ederlf commented 9 years ago

Hi,

I have tested the switch with mul and I got the same results you got before committing the changes. However, it worked after the applying the patches.

These are my results after applying the last two patches.

Wireshark mul_wire

Switch log sw_mul

RoniLevin commented 9 years ago

Hi,

Maybe I pulled the wrong one. I pulled https://github.com/CPqD/openflow-openwrt.git. Is that correct? Also, Have you tried connecting hosts to the switch and ping between them?

Thanks.

ederlf commented 9 years ago

Hi,

sorry for not giving better instructions. I really need to update the entry for the open wrt version.

The code of the Open Wrt version lies in on of the switch branches, which is downloaded as a zip file by the open wrt makefile.

What you need is to build the software switch package again, making sure that the new updated zip will be downloaded and replace the old one.

RoniLevin commented 9 years ago

Hi,

Sorry for the late reply. I tried to do as you said, downloaded and compile a completely new ofsoftswitch13. Unfortunately, I can't find the files you said to use to compile the image of openWRT with the fixed OF. Can you please instruct me on the steps I need to take?

Thank you.

nofic commented 9 years ago

Hi, I was trying to follow your instructions. I followed once again from the beginning, the pantou instructions, and if I understood you correctly, right after I used git clone to clone the open flow1.3, I changed the url in the make file to the following:

PKG_SOURCE_URL:= https://github.com/CPqD/ofsoftswitch13/tree/open_wrt

while compiling using 'V=99' I get an error message as shown screen shot 2015-06-07 at 15 10 47

I would really appreciate if you could help with instructions or correct me in whatever I am doing wrong so I could compile a working version of openflow1.3

Thanks a lot, Nofar

ring0555 commented 8 years ago

Hi Eder Leão Fernandes: can you tell me how to download "the last two patches" ???

ederlf commented 8 years ago

@ring0555 The patches are already included in the source when it is downloaded by the Makefile.

ring0555 commented 8 years ago

@ederlf I found four patches in the openflow-1.3 code,006-Fix-autoconf.patch 007-MakefileFix.patch 008-RemovePrintWarnings.patch 009-RemoveStrlcpy.patch when run openflow connect Controller(opendaylight 0.2.0),openflow print “ extra-long hello” ,why?

ederlf commented 6 years ago

Related to #199. Closing this one.