Re: [nox-dev] Modify the packet's header in Openflow Switch(Router)
If you want to modify the OpenFlow reference switch, you may have better luck by contacting one of the OpenFlow mailing lists (maybe openflow-discuss ... https://mailman.stanford.edu/mailman/listinfo/openflow-discuss ?). But I'd suggest you consider carefully if there is a way to do what you want within the OpenFlow spec or a common extension. Can you not install a flow that matches the packets you want to modify? Or maybe you can accomplish what you want using multiple tables (though support for this is a bit sketchy... it exists in OpenFlow 1.1 and Open vSwitch though the two differ somewhat)? Good luck! -- Murphy On Nov 29, 2011, at 6:48 AM, Hyogi Jung wrote: Hi Murphy Thank you for reply. I understood your point. The actual work of rewriting the packet header happens on the switch. (I'm sorry, I omit carbon copy.) And I want to modify packet in switch before checking flow table. Is it possible in openflow switch? Original openflow process : Receive packet - Check flow table(Find highest-priority matching flow entry) - Apply instructions(Modify packet etc) I want to do this : Receive packet - Modify packet in each OF switch - Check flow table(Find highest-priority matching flow entry) - Apply instructions(Modify packet etc) So I search receiving callback in OF switch. I think it maybe relate with hw_drv.c (openflow\hw-lib\skeleton\hw_drv.c) ? But I don't know exactly. Could you give some advice or where is the packet receiving callback? Thank you for your favor. Best Regards - Hyogi 2011/11/29 Murphy McCauley jam...@nau.edu This depends on exactly what you mean, though I wonder if you are operating under a misconception. If you use NOX to install a flow with, for example, an OFPAT_SET_DL_DST action to set the ethernet address... the actual work of rewriting the packet header happens on the switch. It's only the instruction to do so that comes from the controller. Hope that helps. -- Murphy On Nov 28, 2011, at 7:12 AM, Hyogi Jung wrote: I want to modify the packet's header in Openflow Switch(Router) not NOX controller. Do you know where event handler is called? I try to search google and mailinglist, but I coundn't search. There is no information. Could you give some advice or reference site? ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev -- Hyogi Jung, MS Student Multimedia Mobile Communications Lab School of Computer Science and Engineering Seoul National University, Korea Tel: +82-2-880-9147 ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
[nox-dev] Spanning Tree Module
Hi, first of all: thanks for your great work and the really good support here. I have a small problem and I hope someone knows what to do :) The situation is the following: I have a network with 6 OpenFlow switches in a mesh here. The software (switches and NOX) is working fine. I use the spanning_tree module in order to prevent loops in the network when flooding ARP-Requests and stuff. I got everything to work fine and even the NOX Gui (I'm on destiny) shows me a correct Spanning-Tree without loops. I have two hosts which are connected to two different switches. If I send an ICMP ping from one host to the other, I get the ARP requests in the Openflow network. They travel along the spanning tree which I checked by using wireshark and tcpdump. The other links don't show ARP requests. Now the problem: The ARP requests are not forwarded out of the OpenFlow network. That means, they reach the switch that is connected to the destination host, but the host does not get the ARP request. How can I solve this? Do I have to manually unset the NOFLOOD switch on that port in my controller or is there any other way, maybe to make the spanning_tree module more intelligent or am I doing something wrong? Thanks in advance Bernd ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Spanning Tree Module
AFAIK, this should work. Have you actually inspected the switches? Are the relevant ports actually getting NOFLOOD set? -- Murphy On Nov 29, 2011, at 7:54 AM, Bernd Wittefeld wrote: Hi, first of all: thanks for your great work and the really good support here. I have a small problem and I hope someone knows what to do :) The situation is the following: I have a network with 6 OpenFlow switches in a mesh here. The software (switches and NOX) is working fine. I use the spanning_tree module in order to prevent loops in the network when flooding ARP-Requests and stuff. I got everything to work fine and even the NOX Gui (I'm on destiny) shows me a correct Spanning-Tree without loops. I have two hosts which are connected to two different switches. If I send an ICMP ping from one host to the other, I get the ARP requests in the Openflow network. They travel along the spanning tree which I checked by using wireshark and tcpdump. The other links don't show ARP requests. Now the problem: The ARP requests are not forwarded out of the OpenFlow network. That means, they reach the switch that is connected to the destination host, but the host does not get the ARP request. How can I solve this? Do I have to manually unset the NOFLOOD switch on that port in my controller or is there any other way, maybe to make the spanning_tree module more intelligent or am I doing something wrong? Thanks in advance Bernd ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Trouble with creating a VLAN path
Hi Aaron, First I'd like to thank you for the help with the code, I believe without your tip I wouldn't be able to progress any further. But now I'm stumbling with a new problem... :-) After following your idea with the flow match and using the register_for_packet_in NOX event, I was finally able to not just install the flows but also I was able to connect the hosts from the topology scenario, but the OFPAT_SET_VLAN_VID doesn't seem to work in the way I was expecting, in other words, it seems that isn't adding the VLAN tag since I'm getting empty results from Wireshark, when I filter for VLAN. Below some information that I believe will be helpfull: Code: http://pastebin.com/XBfAJht0 Switch 1 dump-flow: http://imageshack.us/photo/my-images/717/dumpswitch1code2.png/ Switch 2 dump-flow: http://imageshack.us/photo/my-images/254/dumpswitch2code2.png/ If anyone have some tip or solution for this problem, I would really appreciate it. Thanks in advance, Daniel PS.:Sorry for the double email, gmail unconfigured the first one. Em 29 de novembro de 2011 22:49, Daniel de Arêa Leão daniel.area.l...@gmail.com escreveu: Hi Aaron, First I'd like to thank you for the help with the code, I believe without your tip I wouldn't be able to progress any further. But now I'm stumbling with a new problem... :-)After following your idea with the flow match and using the register_for_packet_in NOX event, I was finally able to not just install the flows but also I was able to connect the hosts from the topology scenario, but the OFPAT_SET_VLAN_VID doesn't seem to work in the way I was expecting, in other words, it seems that isn't adding the VLAN tag since I'm getting empty results from Wireshark, when I filter for VLAN.Below some information that I believe will be helpfull: Code: http://pastebin.com/XBfAJht0Switch 1 dump-flow: http://imageshack.us/photo/my-images/717/dumpswitch1code2.png/Switch 2 dump-flow: http://imageshack.us/photo/my-images/254/dumpswitch2code2.png/ If anyone have some tip or solution for this problem, I would really appreciate it. Thanks in advance,Daniel Em 29 de novembro de 2011 01:55, Aaron Rosen aro...@clemson.edu escreveu: You need to do something with flow to tell it what you want to match on. Try adding something like flow[core.IN_PORT] = inport Aaron 2011/11/28 Daniel de Arêa Leão daniel.area.l...@gmail.com Hi, I'm a newbie in NOX and Python and I'm trying to create a VLAN path using NOX. After some researches I was finally able to create a component that at least doesn't show any kind of compilation error, but it also doesn't work as I expect... It seems that it doesn't install the flow on the switch. Below, some informations that I believe that will be helpfull: In the environment that I've created, I'm using NOX 0.9.0 (zaku) and Mininet 1.0.0. In the Mininet, I am using linear 2 as the topology scenario. Command lines that I have used: # ./nox_core -v -i ptcp:6634 dcnflow # mn -x --mac --controller=remote --ip=192.168.56.101 --port=6634 --topo linear,2 My code for the component: http://pastebin.com/2Ue7Hpmr And here some logs that I collected: dpctl show log: http://imageshack.us/photo/my-images/522/dpctl.png/ dpctl dump-flows: http://imageshack.us/photo/my-images/853/dumpt.png/ NOX log: http://pastebin.com/cRDzYi7F Does anyone have a tip or a solution for this problem? Reaffirming that I want to create a VLAN path. Thanks in advance, Daniel ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev -- Aaron O. Rosen Masters Student - Network Communication 306B Fluor Daniel ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] Trouble with creating a VLAN path
The issue is with the order in your actions actions = [[openflow.OFPAT_OUTPUT, [0, output]], [openflow.OFPAT_SET_VLAN_VID, 2]] Change it to this: actions = [ [openflow.OFPAT_SET_VLAN_VID, 2] ,[openflow.OFPAT_OUTPUT, [0, output]] ] and then it should work I think. Right now your flowmod first outputs the packet and then adds the tag. You need to switch the order. Aaron 2011/11/29 Daniel de Arêa Leão daniel.area.l...@gmail.com Hi Aaron, First I'd like to thank you for the help with the code, I believe without your tip I wouldn't be able to progress any further. But now I'm stumbling with a new problem... :-) After following your idea with the flow match and using the register_for_packet_in NOX event, I was finally able to not just install the flows but also I was able to connect the hosts from the topology scenario, but the OFPAT_SET_VLAN_VID doesn't seem to work in the way I was expecting, in other words, it seems that isn't adding the VLAN tag since I'm getting empty results from Wireshark, when I filter for VLAN. Below some information that I believe will be helpfull: Code: http://pastebin.com/XBfAJht0 Switch 1 dump-flow: http://imageshack.us/photo/my-images/717/dumpswitch1code2.png/ Switch 2 dump-flow: http://imageshack.us/photo/my-images/254/dumpswitch2code2.png/ If anyone have some tip or solution for this problem, I would really appreciate it. Thanks in advance, Daniel PS.:Sorry for the double email, gmail unconfigured the first one. Em 29 de novembro de 2011 22:49, Daniel de Arêa Leão daniel.area.l...@gmail.com escreveu: Hi Aaron, First I'd like to thank you for the help with the code, I believe without your tip I wouldn't be able to progress any further. But now I'm stumbling with a new problem... :-)After following your idea with the flow match and using the register_for_packet_in NOX event, I was finally able to not just install the flows but also I was able to connect the hosts from the topology scenario, but the OFPAT_SET_VLAN_VID doesn't seem to work in the way I was expecting, in other words, it seems that isn't adding the VLAN tag since I'm getting empty results from Wireshark, when I filter for VLAN.Below some information that I believe will be helpfull: Code: http://pastebin.com/XBfAJht0Switch 1 dump-flow: http://imageshack.us/photo/my-images/717/dumpswitch1code2.png/Switch 2 dump-flow: http://imageshack.us/photo/my-images/254/dumpswitch2code2.png/ If anyone have some tip or solution for this problem, I would really appreciate it. Thanks in advance,Daniel Em 29 de novembro de 2011 01:55, Aaron Rosen aro...@clemson.edu escreveu: You need to do something with flow to tell it what you want to match on. Try adding something like flow[core.IN_PORT] = inport Aaron 2011/11/28 Daniel de Arêa Leão daniel.area.l...@gmail.com Hi, I'm a newbie in NOX and Python and I'm trying to create a VLAN path using NOX. After some researches I was finally able to create a component that at least doesn't show any kind of compilation error, but it also doesn't work as I expect... It seems that it doesn't install the flow on the switch. Below, some informations that I believe that will be helpfull: In the environment that I've created, I'm using NOX 0.9.0 (zaku) and Mininet 1.0.0. In the Mininet, I am using linear 2 as the topology scenario. Command lines that I have used: # ./nox_core -v -i ptcp:6634 dcnflow # mn -x --mac --controller=remote --ip=192.168.56.101 --port=6634 --topo linear,2 My code for the component: http://pastebin.com/2Ue7Hpmr And here some logs that I collected: dpctl show log: http://imageshack.us/photo/my-images/522/dpctl.png/ dpctl dump-flows: http://imageshack.us/photo/my-images/853/dumpt.png/ NOX log: http://pastebin.com/cRDzYi7F Does anyone have a tip or a solution for this problem? Reaffirming that I want to create a VLAN path. Thanks in advance, Daniel ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev -- Aaron O. Rosen Masters Student - Network Communication 306B Fluor Daniel -- Aaron O. Rosen Masters Student - Network Communication 306B Fluor Daniel ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev