[pox-dev] working with multiple switches
durga
c.vijaya.durga at gmail.com
Thu Nov 7 19:37:19 PST 2013
I am working on it as of now. I did use a macport table to store.Below
debug() shows that, (a obvious error in my code), that the port number for
input and outport are same, hence my ARP gets dropped. as inport ==
outport.
Will keep the group posted as soon i understand where I am going wrong.
*log.debug("%i --> %s" event.dpid,parsedpkt)*
my swtch output:
DEBUG:openflow.of_01:Listening on 0.0.0.0:6633
> INFO:openflow.of_01:[00-00-00-00-00-01 3] connected
> DEBUG:l2_switching_v5:connected to switch with dpid 1
> INFO:openflow.of_01:[00-00-00-00-00-04 1] connected
> DEBUG:l2_switching_v5:connected to switch with dpid 4
> INFO:openflow.of_01:[00-00-00-00-00-03 4] connected
> DEBUG:l2_switching_v5:connected to switch with dpid 3
> INFO:openflow.of_01:[00-00-00-00-00-02 2] connected
> DEBUG:l2_switching_v5:connected to switch with dpid 2
> DEBUG:l2_switching_v5:1 --> [00:00:00:00:00:01>ff:ff:ff:ff:ff:ff ARP]
> {EthAddr('00:00:00:00:00:01'): 1}
> DEBUG:l2_switching_v5:2 --> [00:00:00:00:00:01>ff:ff:ff:ff:ff:ff ARP]
> {EthAddr('00:00:00:00:00:01'): 2}
> DEBUG:l2_switching_v5:3 --> [00:00:00:00:00:01>ff:ff:ff:ff:ff:ff ARP]
> {EthAddr('00:00:00:00:00:01'): 2}
> DEBUG:l2_switching_v5:4 --> [00:00:00:00:00:01>ff:ff:ff:ff:ff:ff ARP]
> {EthAddr('00:00:00:00:00:01'): 2}
> DEBUG:l2_switching_v5:3 --> [00:00:00:00:00:03>00:00:00:00:00:01 ARP]
> {EthAddr('00:00:00:00:00:03'): 1, EthAddr('00:00:00:00:00:01'): 2}
> DEBUG:l2_switching_v5:2 --> [00:00:00:00:00:03>00:00:00:00:00:01 ARP]
> {EthAddr('00:00:00:00:00:03'): 3, EthAddr('00:00:00:00:00:01'): 2}
>
> *DEBUG:l2_switching_v5:1 --> [00:00:00:00:00:03>00:00:00:00:00:01 ARP] *
> *{EthAddr('00:00:00:00:00:03'): 2, EthAddr('00:00:00:00:00:01'): 2} *
> *dropping*
expected:
>
>
> *DEBUG:forwarding.l2_learning:1-->[00:00:00:00:00:01>00:00:00:00:00:03 IP]**{EthAddr('00:00:00:00:00:03'):
> 2, EthAddr('00:00:00:00:00:01'): 1}*
Cheers!
Durga
On Fri, Nov 8, 2013 at 1:29 PM, Murphy McCauley
<murphy.mccauley at gmail.com>wrote:
> You'll see that the table is held in an instance variable
> (self.macToPort). self in this case is an instance of LearningSwitch. And
> the key here is that there's an instance of LearningSwitch for each switch
> that connects (created by a ConnectionUp handler).
>
> -- Murphy
>
> On Nov 7, 2013, at 4:32 AM, durga <c.vijaya.durga at gmail.com> wrote:
>
> While, I am reading docs to work on vlans , I was as well experimenting on
> using multiple switches.Without creating any complex topology, i stuck to
> linear topology by running the below in mininet
>
> sudo mn --topo linear ,4 --mac --switch ovsk --controller remote
>
> which creates 5 links(h1<-->s1, h2<-->s2,s1<-->c0,s2<-->c0,s1<-->s2)
> When I run the sample l2_learning switch module, h1 pings h2 successfully.
> But how does the code differentiate between 2 ports if host 1 is connected
> to port 1 of sw1( thus event.port ==1) and h2 is connected to port1 of
> sw2(port == 1), then port == event.port condition might fail right? (though
> it doesnot).
>
> else:
> port = self.macToPort[packet.dst]
> if port == event.port: # 5
> # 5a
> log.warning("Same port for packet from %s -> %s on %s.%s. Drop."
> % (packet.src, packet.dst, dpid_to_str(event.dpid), port))
> drop(10)
> return
> # 6
>
>
> the program I wrote, is failing at this very condition.
>
> Cheers!
> Durga
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.noxrepo.org/pipermail/pox-dev-noxrepo.org/attachments/20131108/e33bf6d6/attachment-0002.htm>
More information about the pox-dev
mailing list