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

Reply via email to