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

Reply via email to