<p dir="ltr">Oops, wasn't my intention to take this off list. I usually don't remember to hit Reply All. :) </p>
<p dir="ltr">Alison Chan<br>
(mobile)</p>
<div class="gmail_quote">On 28 May 2013 23:01, "Murphy McCauley" <<a href="mailto:murphy.mccauley@gmail.com">murphy.mccauley@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On May 28, 2013, at 7:50 AM, Alison Chan wrote:<br>
<br>
> Thank you for pointing that out. The flow mods sent later, had the<br>
> previously set actions in them too.<br>
<br>
Right.<br>
<br>
> I fixed that by creating a new flow mod object for each one to be<br>
> sent<br>
<br>
Did you fix ALL of them?<br>
<br>
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...<br>
msg.actions = [of.ofp_output_action(...)]<br>
<br>
> and now one subnet works, but the other one doesn't. When I add<br>
> the commented out line 170, it makes the <a href="http://10.0.0.0/25" target="_blank">10.0.0.0/25</a> subnet not work<br>
> again.<br>
<br>
Commenting out this line makes this flow only match on the in_port which surely isn't what you want.<br>
<br>
> <a href="https://gist.github.com/alis0nc/5639697/3371a3050b2a28e178c5715e1fa357b4578e0acf#file-my_controller-py" target="_blank">https://gist.github.com/alis0nc/5639697/3371a3050b2a28e178c5715e1fa357b4578e0acf#file-my_controller-py</a><br>
<br>
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...<br>
<br>
<br>
For what it's worth, with a couple minor tweaks, your code works. :)<br>
<br>
-- Murphy<br>
<br>
(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)<br>
<br>
> On Fri, May 24, 2013 at 5:41 PM, Murphy McCauley<br>
> <<a href="mailto:murphy.mccauley@gmail.com">murphy.mccauley@gmail.com</a>> wrote:<br>
>> 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.<br>
>><br>
>> -- Murphy<br>
>><br>
>> On May 24, 2013, at 1:23 PM, Alison Chan wrote:<br>
>><br>
>>> <a href="https://gist.github.com/alis0nc/5639697#file-my_controller-py" target="_blank">https://gist.github.com/alis0nc/5639697#file-my_controller-py</a><br>
>>> I've added a match for ARP and made sure of the prerequisite as per<br>
>>> that other posting. I haven't seen a loop error since. Also, s7 and s8<br>
>>> don't learn or flood anyway, they're handled in start_switch and the<br>
>>> l2 learning method is in the 'else' clause.<br>
>>><br>
>>> Pinging to a host on the same 'side' works now, and I've gotten rid of<br>
>>> all the errors. But one side still can't talk to the other side. Am I<br>
>>> doing ARM wrong?<br>
>>><br>
>>> On Fri, May 24, 2013 at 1:13 AM, Murphy McCauley<br>
>>> <<a href="mailto:murphy.mccauley@gmail.com">murphy.mccauley@gmail.com</a>> wrote:<br>
>>>> At least one of your problems is the same as was recently discussed in this post:<br>
>>>> <a href="http://lists.noxrepo.org/pipermail/pox-dev-noxrepo.org/2013-May/000732.html" target="_blank">http://lists.noxrepo.org/pipermail/pox-dev-noxrepo.org/2013-May/000732.html</a><br>
>>>><br>
>>>> 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.<br>
>>>><br>
>>>> 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.<br>
>>>><br>
>>>> -- Murphy<br>
>>>><br>
>>>> On May 23, 2013, at 2:55 PM, Alison Chan wrote:<br>
>>>><br>
>>>>> Hello,<br>
>>>>><br>
>>>>> I'm having trouble designing my controller to split traffic by ip<br>
>>>>> subnet. The relevant controller code, topology setup, and pox log file<br>
>>>>> are in the linked gist:<br>
>>>>><br>
>>>>> <a href="https://gist.github.com/alis0nc/5639697" target="_blank">https://gist.github.com/alis0nc/5639697</a><br>
>>>>><br>
>>>>> The topology and port assignnments look right as confirmed by 'net' in<br>
>>>>> mininet. Here is what I'm doing:<br>
>>>>><br>
>>>>> * start mininet by sudo mn --custom ~/mininet/custom/topo-ac.py<br>
>>>>> --topo=mytopo --controller=remote,ip=127.0.0.1,port=6633 --mac<br>
>>>>> * set up IP addresses on the nodes as follows:<br>
>>>>> * h1: 10.0.0.1<br>
>>>>> * h2: 10.0.0.129<br>
>>>>> * h3: 10.0.0.2<br>
>>>>> * h4: 10.0.0.130<br>
>>>>> * start PoX by pox/pox.py misc.my_controller 2>&1 | tee -i poxlog.txt<br>
>>>>> * mininet> h1 ping -c1 h2<br>
>>>>> * destination host unreachable<br>
>>>>> * wait about 5 seconds<br>
>>>>> * the errors start coming and don't stop<br>
>>>>><br>
>>>>> This is really my first OF controller past the tutorial so I apologise<br>
>>>>> if I'm doing something really really stupid... But any assistance<br>
>>>>> would be appreciated.<br>
>>>>><br>
>>>>> Cheers,<br>
>>>>> --<br>
>>>>> Alison Chan<br>
>>>>> Kettering University (2015): BSCS (Security concentration), BSCE, Pre-Law minor<br>
>>>>> Research Assistant, Department of Computer Science<br>
>>>>> Secretary, Kettering University Allies, A-Section<br>
>>>>> +1 909 278 7753<br>
>>>>> <a href="mailto:chan7781@kettering.edu">chan7781@kettering.edu</a><br>
>>>>><br>
>>>>> () ascii ribbon campaign for plain text email<br>
>>>>> /\ <a href="http://www.asciiribbon.org" target="_blank">http://www.asciiribbon.org</a><br>
>>>><br>
>>><br>
>>><br>
>>><br>
>>> --<br>
>>> Alison Chan<br>
>>> Kettering University (2015): BSCS (Security concentration), BSCE, Pre-Law minor<br>
>>> Research Assistant, Department of Computer Science<br>
>>> Secretary, Kettering University Allies, A-Section<br>
>>> <a href="tel:%2B1%20909%20278%207753" value="+19092787753">+1 909 278 7753</a><br>
>>> <a href="mailto:chan7781@kettering.edu">chan7781@kettering.edu</a><br>
>>><br>
>>> () ascii ribbon campaign for plain text email<br>
>>> /\ <a href="http://www.asciiribbon.org" target="_blank">http://www.asciiribbon.org</a><br>
>><br>
><br>
><br>
><br>
> --<br>
> Alison Chan<br>
> Kettering University (2015): BSCS (Security concentration), BSCE, Pre-Law minor<br>
> Research Assistant, Department of Computer Science<br>
> Secretary, Kettering University Allies, A-Section<br>
> <a href="tel:%2B1%20909%20278%207753" value="+19092787753">+1 909 278 7753</a><br>
> <a href="mailto:chan7781@kettering.edu">chan7781@kettering.edu</a><br>
><br>
> () ascii ribbon campaign for plain text email<br>
> /\ <a href="http://www.asciiribbon.org" target="_blank">http://www.asciiribbon.org</a><br>
<br>
</blockquote></div>