https://gist.github.com/alis0nc/5639697/10402f02adc5ae3911bc6dff1a555af68a74161c#file-my_controller-py
I've refactored and made each message its own flow_mod object, and I'm getting 'Destination Host Unreachable' for anything from one side to the other. I probably just need smacked upside the head with whatever it is that I'm missing. On Tue, May 28, 2013 at 11:07 PM, Alison Chan <[email protected]> wrote: > Oops, wasn't my intention to take this off list. I usually don't remember to > hit Reply All. :) > > Alison Chan > (mobile) > > On 28 May 2013 23:01, "Murphy McCauley" <[email protected]> wrote: >> >> On May 28, 2013, at 7:50 AM, Alison Chan wrote: >> >> > Thank you for pointing that out. The flow mods sent later, had the >> > previously set actions in them too. >> >> Right. >> >> > I fixed that by creating a new flow mod object for each one to be >> > sent >> >> Did you fix ALL of them? >> >> BTW, I think it's generally cleaner to create new flow mod objects, but >> the actions are just a sequence. Meaning it's legal to do something like... >> msg.actions = [of.ofp_output_action(...)] >> >> > and now one subnet works, but the other one doesn't. When I add >> > the commented out line 170, it makes the 10.0.0.0/25 subnet not work >> > again. >> >> Commenting out this line makes this flow only match on the in_port which >> surely isn't what you want. >> >> > >> > https://gist.github.com/alis0nc/5639697/3371a3050b2a28e178c5715e1fa357b4578e0acf#file-my_controller-py >> >> So you've got the splitting table and the subnets copied at two places in >> the code. I'd suggest you refactor a bit (removing one of them), which will >> make this cleaner and also might make the problem apparent... >> >> >> For what it's worth, with a couple minor tweaks, your code works. :) >> >> -- Murphy >> >> (P.S., you dropped the list from the CC, but in general, it's nice to keep >> discussion on the list so that others can benefit) >> >> > On Fri, May 24, 2013 at 5:41 PM, Murphy McCauley >> > <[email protected]> wrote: >> >> Hard to say if this is the problem, but... I think there's something >> >> funny with your actions. I think you'd see it if you looked at the action >> >> lists in the flow_mod messages to s7/s8 using Wireshark. >> >> >> >> -- Murphy >> >> >> >> On May 24, 2013, at 1:23 PM, Alison Chan wrote: >> >> >> >>> https://gist.github.com/alis0nc/5639697#file-my_controller-py >> >>> I've added a match for ARP and made sure of the prerequisite as per >> >>> that other posting. I haven't seen a loop error since. Also, s7 and s8 >> >>> don't learn or flood anyway, they're handled in start_switch and the >> >>> l2 learning method is in the 'else' clause. >> >>> >> >>> Pinging to a host on the same 'side' works now, and I've gotten rid of >> >>> all the errors. But one side still can't talk to the other side. Am I >> >>> doing ARM wrong? >> >>> >> >>> On Fri, May 24, 2013 at 1:13 AM, Murphy McCauley >> >>> <[email protected]> wrote: >> >>>> At least one of your problems is the same as was recently discussed >> >>>> in this post: >> >>>> >> >>>> http://lists.noxrepo.org/pipermail/pox-dev-noxrepo.org/2013-May/000732.html >> >>>> >> >>>> It also looks like your topology has a loop but that sufficient >> >>>> measures are not taken to prevent packets from looping. If your subnet >> >>>> splitting was working, this wouldn't be a loop for IP, but still would >> >>>> but >> >>>> for non-IP. This may be why you're getting a BUFFER_UNKNOWN area -- >> >>>> looped >> >>>> packets may be exhausting all the buffers. You need to somehow modify >> >>>> your >> >>>> controller to prevent looping. One way might be to change the >> >>>> resend_packet >> >>>> to OFPP_ALL to use OFPP_FLOOD instead and then run the >> >>>> openflow.spanning_tree component. You could also just modify it so >> >>>> that S7 >> >>>> and S8 use single-port output instead of flooding, never use one of the >> >>>> alternate paths, and don't do MAC learning. >> >>>> >> >>>> As a sidenote, you might want to take a look at the log module -- >> >>>> there's no need to tee into a file; the log module can be configured to >> >>>> just >> >>>> write a file for you. >> >>>> >> >>>> -- Murphy >> >>>> >> >>>> On May 23, 2013, at 2:55 PM, Alison Chan wrote: >> >>>> >> >>>>> Hello, >> >>>>> >> >>>>> I'm having trouble designing my controller to split traffic by ip >> >>>>> subnet. The relevant controller code, topology setup, and pox log >> >>>>> file >> >>>>> are in the linked gist: >> >>>>> >> >>>>> https://gist.github.com/alis0nc/5639697 >> >>>>> >> >>>>> The topology and port assignnments look right as confirmed by 'net' >> >>>>> in >> >>>>> mininet. Here is what I'm doing: >> >>>>> >> >>>>> * start mininet by sudo mn --custom ~/mininet/custom/topo-ac.py >> >>>>> --topo=mytopo --controller=remote,ip=127.0.0.1,port=6633 --mac >> >>>>> * set up IP addresses on the nodes as follows: >> >>>>> * h1: 10.0.0.1 >> >>>>> * h2: 10.0.0.129 >> >>>>> * h3: 10.0.0.2 >> >>>>> * h4: 10.0.0.130 >> >>>>> * start PoX by pox/pox.py misc.my_controller 2>&1 | tee -i >> >>>>> poxlog.txt >> >>>>> * mininet> h1 ping -c1 h2 >> >>>>> * destination host unreachable >> >>>>> * wait about 5 seconds >> >>>>> * the errors start coming and don't stop >> >>>>> >> >>>>> This is really my first OF controller past the tutorial so I >> >>>>> apologise >> >>>>> if I'm doing something really really stupid... But any assistance >> >>>>> would be appreciated. >> >>>>> >> >>>>> Cheers, >> >>>>> -- >> >>>>> Alison Chan >> >>>>> Kettering University (2015): BSCS (Security concentration), BSCE, >> >>>>> Pre-Law minor >> >>>>> Research Assistant, Department of Computer Science >> >>>>> Secretary, Kettering University Allies, A-Section >> >>>>> +1 909 278 7753 >> >>>>> [email protected] >> >>>>> >> >>>>> () ascii ribbon campaign for plain text email >> >>>>> /\ http://www.asciiribbon.org >> >>>> >> >>> >> >>> >> >>> >> >>> -- >> >>> Alison Chan >> >>> Kettering University (2015): BSCS (Security concentration), BSCE, >> >>> Pre-Law minor >> >>> Research Assistant, Department of Computer Science >> >>> Secretary, Kettering University Allies, A-Section >> >>> +1 909 278 7753 >> >>> [email protected] >> >>> >> >>> () ascii ribbon campaign for plain text email >> >>> /\ http://www.asciiribbon.org >> >> >> > >> > >> > >> > -- >> > Alison Chan >> > Kettering University (2015): BSCS (Security concentration), BSCE, >> > Pre-Law minor >> > Research Assistant, Department of Computer Science >> > Secretary, Kettering University Allies, A-Section >> > +1 909 278 7753 >> > [email protected] >> > >> > () ascii ribbon campaign for plain text email >> > /\ http://www.asciiribbon.org >> > -- Alison Chan Kettering University (2015): BSCS (Security concentration), BSCE, Pre-Law minor Research Assistant, Department of Computer Science Secretary, Kettering University Allies, A-Section +1 909 278 7753 [email protected] () ascii ribbon campaign for plain text email /\ http://www.asciiribbon.org
