[pox-dev] Controller to split traffic by subnet

Alison Chan chan7781 at kettering.edu
Fri May 24 13:23:09 PDT 2013


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
<murphy.mccauley at gmail.com> 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
>> chan7781 at kettering.edu
>>
>> ()  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
chan7781 at kettering.edu

()  ascii ribbon campaign for plain text email
/\  http://www.asciiribbon.org



More information about the pox-dev mailing list