---------- Forwarded message ---------- From: farshad tajedin <farshad.taje...@gmail.com> Date: Mon, May 26, 2014 at 9:28 AM Subject: Re: [pox-dev] packet in message To: Murphy McCauley <murphy.mccau...@gmail.com> Cc: pox-dev <pox-dev@lists.noxrepo.org>
ok , this code called when a packet received to edge switch for example e_s1(in my scenario, h1 ping h2 and h1 connected to e_s1 ) and path calculated between two hosts, this code first sends add flow setup msg to switches on this path(line1,2,3,4,5) including e_s1 then sends packet out msg to e_s1 (line 6) 1-core.openflow.sendToDPID(int('0002'+self.ToDPIDformat(SelectOne[1]),16),self.add_FlowEntri((SelectOne[2]%(NumOfPod/2))+(NumOfPod/2)+1,str(dstIP),0x800)) 2-core.openflow.sendToDPID(int('0001'+self.ToDPIDformat(SelectOne[2]),16),self.add_FlowEntri((SelectOne[3]/(NumOfPod/2))+1,str(dstIP),0x800)) 3-core.openflow.sendToDPID(int('0002'+self.ToDPIDformat(SelectOne[3]),16),self.add_FlowEntri((SelectOne[4]%(NumOfPod/2))+1,str(dstIP),0x800)) 4-core.openflow.sendToDPID(int('0003'+self.ToDPIDformat(SelectOne[4]),16),self.add_FlowEntri(((int(dstNo)-1)%(NumOfPod/2))+1,str(dstIP),0x800)) 5-self.connection.send(self.add_FlowEntri((SelectOne[1]%(NumOfPod/2))+(NumOfPod/2)+1,str(dstIP),0x800)) 6-self.connection.send(self.packetOutMsg((SelectOne[1]%(NumOfPod/2))+(NumOfPod/2)+1,of.buffer_id,of.data)) ---------------------------------------------------------------------------------------------------------------------------------------------- can i attach pcap file for this senario? On Mon, May 26, 2014 at 1:55 AM, Murphy McCauley <murphy.mccau...@gmail.com>wrote: > Well, I'm not able to learn anything from that code snippet. I repeat my > advice of using Wireshark to watch the traffic on the switch which sends > the two packet-ins and try to confirm whether it actually receives the > packet twice. > > -- Murphy > > On May 25, 2014, at 10:51 AM, farshad tajedin <farshad.taje...@gmail.com> > wrote: > > P.S > when i remove last line every thing is ok > > > On Sun, May 25, 2014 at 10:17 PM, farshad tajedin < > farshad.taje...@gmail.com> wrote: > >> sorry this hase better view >> >> -core.openflow.sendToDPID(int('0002'+self.ToDPIDformat(SelectOne[1]),16),self.add_FlowEntri((SelectOne[2]%(NumOfPod/2))+(NumOfPod/2)+1,str(dstIP),0x800)) >> >> >> -core.openflow.sendToDPID(int('0001'+self.ToDPIDformat(SelectOne[2]),16),self.add_FlowEntri((SelectOne[3]/(NumOfPod/2))+1,str(dstIP),0x800)) >> >> >> -core.openflow.sendToDPID(int('0002'+self.ToDPIDformat(SelectOne[3]),16),self.add_FlowEntri((SelectOne[4]%(NumOfPod/2))+1,str(dstIP),0x800)) >> >> >> -core.openflow.sendToDPID(int('0003'+self.ToDPIDformat(SelectOne[4]),16),self.add_FlowEntri(((int(dstNo)-1)%(NumOfPod/2))+1,str(dstIP),0x800)) >> >> >> >> -self.connection.send(self.add_FlowEntri((SelectOne[1]%(NumOfPod/2))+(NumOfPod/2)+1,str(dstIP),0x800)) >> >> -self.connection.send(self.packetOutMsg((SelectOne[1]%(NumOfPod/2))+(NumOfPod/2)+1,of.buffer_id,of.data)) >> >> >> >> On Sun, May 25, 2014 at 10:16 PM, farshad tajedin < >> farshad.taje...@gmail.com> wrote: >> >>> this my code section which make this problem: >>> >>> >>> core.openflow.sendToDPID(int('0002'+self.ToDPIDformat(SelectOne[1]),16),self.add_FlowEntri((SelectOne[2]%(NumOfPod/2))+(NumOfPod/2)+1,str(dstIP),0x800)) >>> >>> core.openflow.sendToDPID(int('0001'+self.ToDPIDformat(SelectOne[2]),16),self.add_FlowEntri((SelectOne[3]/(NumOfPod/2))+1,str(dstIP),0x800)) >>> >>> core.openflow.sendToDPID(int('0002'+self.ToDPIDformat(SelectOne[3]),16),self.add_FlowEntri((SelectOne[4]%(NumOfPod/2))+1,str(dstIP),0x800)) >>> >>> core.openflow.sendToDPID(int('0003'+self.ToDPIDformat(SelectOne[4]),16),self.add_FlowEntri(((int(dstNo)-1)%(NumOfPod/2))+1,str(dstIP),0x800)) >>> >>> >>> >>> self.connection.send(self.add_FlowEntri((SelectOne[1]%(NumOfPod/2))+(NumOfPod/2)+1,str(dstIP),0x800)) >>> >>> self.connection.send(self.packetOutMsg((SelectOne[1]%(NumOfPod/2))+(NumOfPod/2)+1,of.buffer_id,of.data)) >>> >>> >>> >>> On Sun, May 25, 2014 at 11:44 AM, farshad tajedin < >>> farshad.taje...@gmail.com> wrote: >>> >>>> yes of curse but not now because i am at my job now and haven't access >>>> to source code, i will do this a few hours later. >>>> >>>> >>>> On Sun, May 25, 2014 at 10:07 AM, Murphy McCauley < >>>> murphy.mccau...@gmail.com> wrote: >>>> >>>>> Generally speaking, there's only ever one active connection to a >>>>> switch at a time. >>>>> >>>>> Can you share a minimal version of your code which demonstrates the >>>>> issue? >>>>> >>>>> -- Murphy >>>>> >>>>> On May 24, 2014, at 10:20 PM, farshad tajedin < >>>>> farshad.taje...@gmail.com> wrote: >>>>> >>>>> as i said before in my controller code i used two connection to e_s1 >>>>> sequentially one for installing flow entry and next connection for sending >>>>> packet out message. if connecting to switches done by thread programming >>>>> so >>>>> these message sending parallel, is these parallel message to one switch >>>>> make problem? >>>>> >>>>> >>>>> On Sun, May 25, 2014 at 8:15 AM, Murphy McCauley < >>>>> murphy.mccau...@gmail.com> wrote: >>>>> >>>>>> It's implemented by a recoco Task as described in the POX manual. >>>>>> Beneath that, there's a thread, but then... isn't there always? >>>>>> >>>>>> -- Murphy >>>>>> >>>>>> On May 24, 2014, at 4:04 AM, farshad tajedin < >>>>>> farshad.taje...@gmail.com> wrote: >>>>>> >>>>>> is connection to switch implemented by thread? >>>>>> >>>>>> >>>>>> On Sat, May 24, 2014 at 9:26 AM, Murphy McCauley < >>>>>> murphy.mccau...@gmail.com> wrote: >>>>>> >>>>>>> How about disabling enough links in your topology so that it doesn't >>>>>>> have loops and then trying? (I'm wondering if the second one has looped >>>>>>> back to where it started somehow.) >>>>>>> >>>>>>> Another thought would be to wireshark all the ports of the switch >>>>>>> where you're seeing two of these packets. Do you actually see the >>>>>>> packet >>>>>>> arrive twice? Leave twice? Etc. >>>>>>> >>>>>>> -- Murphy >>>>>>> >>>>>>> On May 23, 2014, at 9:51 PM, farshad tajedin < >>>>>>> farshad.taje...@gmail.com> wrote: >>>>>>> >>>>>>> yes both of them are same except buffer id , i do this in mininet >>>>>>> >>>>>>> >>>>>>> On Fri, May 23, 2014 at 2:53 PM, farshad tajedin < >>>>>>> farshad.taje...@gmail.com> wrote: >>>>>>> >>>>>>>> yes both of them are same except buffer id , i do this in mininet >>>>>>>> >>>>>>>> >>>>>>>> On Fri, May 23, 2014 at 1:23 PM, Murphy McCauley < >>>>>>>> murphy.mccau...@gmail.com> wrote: >>>>>>>> >>>>>>>>> Are the packet-in messages and their payloads 100% identical? >>>>>>>>> >>>>>>>>> Are you doing this on real hardware, or in Mininet, or... ? >>>>>>>>> >>>>>>>>> -- Murphy >>>>>>>>> >>>>>>>>> On May 22, 2014, at 11:13 PM, farshad tajedin < >>>>>>>>> farshad.taje...@gmail.com> wrote: >>>>>>>>> >>>>>>>>> hi murphy >>>>>>>>> i have a path between two hosts(h1 and h2) in a data center,when i >>>>>>>>> ping h2 from h1 since switches on this path have no flow entry for >>>>>>>>> route >>>>>>>>> icmp packet to h2 , the edge switch that h1 connected to it(e_s1) >>>>>>>>> ,send >>>>>>>>> icmp packet to controller. in controller i handle it and i add flow >>>>>>>>> entry >>>>>>>>> to each switch on this path in my controller code and at last send >>>>>>>>> packet >>>>>>>>> out msg to e_s1 to forward this packet. during this action (ping h2 >>>>>>>>> from >>>>>>>>> h1) i capture traffic of my network by wireshark and i see packet in >>>>>>>>> msg >>>>>>>>> from e_s1 two times sends to controller that i expect packet in msg >>>>>>>>> must >>>>>>>>> send once. >>>>>>>>> >>>>>>>>> >>>>>>>>> On Fri, May 23, 2014 at 4:30 AM, Murphy McCauley < >>>>>>>>> murphy.mccau...@gmail.com> wrote: >>>>>>>>> >>>>>>>>>> I think you'll need to provide a lot more detail. >>>>>>>>>> >>>>>>>>>> Are you saying that you're trying to proactively insert all the >>>>>>>>>> rules into the switch when it connects, but you're getting >>>>>>>>>> packet-ins (from >>>>>>>>>> table misses) anyway and you're not expecting them? >>>>>>>>>> >>>>>>>>>> How do packet-outs factor in here? >>>>>>>>>> >>>>>>>>>> -- Murphy >>>>>>>>>> >>>>>>>>>> On May 22, 2014, at 5:45 AM, farshad tajedin < >>>>>>>>>> farshad.taje...@gmail.com> wrote: >>>>>>>>>> >>>>>>>>>> i must say that i use 1.add flow message and 2.packet out message >>>>>>>>>> sequensialy >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Thu, May 22, 2014 at 3:17 PM, farshad tajedin < >>>>>>>>>> farshad.taje...@gmail.com> wrote: >>>>>>>>>> >>>>>>>>>>> hi all >>>>>>>>>>> >>>>>>>>>>> i have a fat-tree topology, when i ping a host from another host >>>>>>>>>>> i found that first host 2 times send packet in message to >>>>>>>>>>> controller and i >>>>>>>>>>> dont know why. can anybody help me ? >>>>>>>>>>> >>>>>>>>>>> P.S i use core.openflow.addListenerByName("ConnectionUp", >>>>>>>>>>> start_switch) for event handling. >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Best Regards >>>>>>>>>>> >>>>>>>>>>> Farshad Tajedin >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Best Regards >>>>>>>>>> >>>>>>>>>> Farshad Tajedin >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Best Regards >>>>>>>>> >>>>>>>>> Farshad Tajedin >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Best Regards >>>>>>>> >>>>>>>> Farshad Tajedin >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Best Regards >>>>>>> >>>>>>> Farshad Tajedin >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Best Regards >>>>>> >>>>>> Farshad Tajedin >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Best Regards >>>>> >>>>> Farshad Tajedin >>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> Best Regards >>>> >>>> Farshad Tajedin >>>> >>> >>> >>> >>> -- >>> Best Regards >>> >>> Farshad Tajedin >>> >> >> >> >> -- >> Best Regards >> >> Farshad Tajedin >> > > > > -- > Best Regards > > Farshad Tajedin > > > -- Best Regards Farshad Tajedin -- Best Regards Farshad Tajedin