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 > >
