James is right, you should check with tcpdump.

By looking at the send_openflow code, you can see,

 if buffer_id != None:
            self.send_openflow_buffer(dp_id, buffer_id, actions, inport)

Switch the buffer_id for None and it should work, the comment is incorrect.




On Dec 10, 2010, at 8:22 PM, James Murphy McCauley wrote:

> Have you installed a rule to send the entire packet (the type that you
> want to duplicate) to the controller?  If not, it may well be truncated.
> So you may only be sending the truncated version out on the second dpid.
> Depending on how you're checking to see if this is working, this may
> just look like it's failing (e.g., because if it's a TCP packet, the
> receiver will just throw it away because its checksum will be wrong
> among other things).
> 
> -- Murphy
> 
> On Fri, 2010-12-10 at 14:08 -0500, Aaron Rosen wrote:
>> Hi Ali, 
>> 
>> Looking at the comments for send_openflow, if buffer_id is -1 then, it
>> should send the packet. Though, maybe I'm still doing this
>> incorrectly?
>> 
>>                    actions = [[openflow.OFPAT_OUTPUT, [0, 11]]]
>>                    self.send_openflow(self.dpid_of_duplication, -1,
>> buf, actions, inport)
>> 
>> also 
>>                    actions = [[openflow.OFPAT_PACKET_OUTPUT, [0,
>> 11]]]
>>                    self.send_openflow(self.dpid_of_duplication, -1,
>> buf or packet, actions, inport)
>> 
>> doesn't seem to work. Could you point out where I'm going wrong? 
>> 
>> 
>> Thanks, 
>> 
>> Aaron
>> 
>> 
>> On Fri, Dec 10, 2010 at 1:41 PM, Ali Al-Shabibi
>> <ali.al-shab...@cern.ch> wrote:
>>        Hi Aaron,
>> 
>>        self.dpid_of_duplication is not the dpid the packet arrived
>>        on, therefore therefore bufid is meaningless to
>>        self.dpid_of_duplication. You should send
>>        self.dpid_of_duplication the actual packet you want to
>>        packet_out.
>> 
>>        Hope this helps,
>> 
>>        --
>>        Ali Al-Shabibi
>> 
>> 
>>        On 10 déc. 2010, at 18:57, Aaron Rosen <aro...@clemson.edu>
>>        wrote:
>> 
>>> Hello,
>>> 
>>> When I get a specific kind of packet I want to send that
>>        packet to a specific dpid and port and also send it to the
>>        dpid and port that the packet was intended for.
>>> 
>>> If I do:
>>> 
>>> # send packet to end host
>>> # note self.PortMaping[dpid, mac_to_str(packet.dst)] returns
>>        the port number the packet.dst is on
>>> 
>>> actions = [[openflow.OFPAT_OUTPUT, [0, self.PortMaping[dpid,
>>        mac_to_str(packet.dst)]]]]
>>> self.send_openflow(dpid, bufid, buf, actions, inport)
>>> 
>>> # send packet to specific dpid and port 11
>>> 
>>> actions = [[openflow.OFPAT_OUTPUT, [0, 11]]]
>>> self.send_openflow(self.dpid_of_duplication, bufid, buf,
>>        actions, inport)
>>> 
>>> The packet never gets to the self.dpid_of_duplication port
>>        11.
>>> 
>>> Anyone see where I'm going wrong here?
>>> 
>>> Thanks,
>>> 
>>> Aaron
>>> 
>>> --
>>> Aaron O. Rosen
>>> Masters Student - Network Communication
>>> 306B Fluor Daniel
>>> 843.425.9777
>>> 
>> 
>>> _______________________________________________
>>> nox-dev mailing list
>>> nox-dev@noxrepo.org
>>> http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
>> 
>> 
>> 
>> -- 
>> Aaron O. Rosen 
>> Masters Student - Network Communication
>> 306B Fluor Daniel 
>> 843.425.9777
>> 
>> _______________________________________________
>> nox-dev mailing list
>> nox-dev@noxrepo.org
>> http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
> 
> 

-- 

Ali Al-Shabibi
Doctoral Student
PH-ATD
CERN - European Organization for Nuclear Research
Office: 513 R-018
ali.al-shab...@cern.ch
Tel :   +41 22 767 86 46


_______________________________________________
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org

Reply via email to