hi i look at l2_multi and i dont understand how it wait for barrier replies. can u guide me ?
On Fri, May 30, 2014 at 8:47 AM, Murphy McCauley <murphy.mccau...@gmail.com> wrote: > This capture is somewhat difficult to follow since all captures appear to > be coming from the same port even though they aren't. > > I think the situation you're referring to it like the repeated packet in > 19469 and 19487. These packets appear to be coming from different > switches. I think the mystery is why the second switch is sending the > packet-in, as 19472 appears to be a flow-mod which on quick inspection > appears that it should match the ping. > > One possibility is that the flow-mod hasn't taken effect yet. You're not > actually guaranteed when it will. If you send a barrier request and wait > for the reply, you'll know it has. If you look at l2_multi, you'll notice > it sends flow-mods, waits for barrier replies, and THEN actually forwards > the packet. You could probably test if this was the problem by simply > waiting for like... half a second or so before sending the packet-out. > > Another possibility is that there's something subtly wrong with the match > which didn't immediately pop out at me. You might try using > ofp_match.from_packet() temporarily to create the match. > > -- Murphy > > On May 27, 2014, at 12:26 AM, farshad tajedin <farshad.taje...@gmail.com> > wrote: > > P.S > sorry i forgot to say that please filter this pcap to ip.addr==10.0.0.1 > > > On Tue, May 27, 2014 at 11:48 AM, farshad tajedin < > farshad.taje...@gmail.com> wrote: > >> its pcap link: >> https://www.dropbox.com/s/9964xavdbqrv27n/pingSenario >> >> >> On Tue, May 27, 2014 at 9:50 AM, Murphy McCauley < >> murphy.mccau...@gmail.com> wrote: >> >>> >>> On May 26, 2014, at 10:18 PM, farshad tajedin <farshad.taje...@gmail.com> >>> wrote: >>> >>> >>> >>> ---------- 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? >>> >>> >>> Sure. Or upload it somewhere and post the link. (There's a file size >>> limit, though it's at least a few hundred K.) >>> >>> Ideally you'd have captures for all the interfaces on the switch and its >>> control connection. With synchronized timestamps or as a single capture >>> (but done in such a way that interfaces can be differentiated). >>> >>> -- Murphy >>> >>> 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 >>> >>> >>> >> >> >> -- >> Best Regards >> >> Farshad Tajedin >> > > > > -- > Best Regards > > Farshad Tajedin > > > -- Best Regards Farshad Tajedin