On May 27, 2015, at 1:39 PM, Adam Pavlidis <adampavli...@gmail.com> wrote:

> 
> Are you using l2_learning and only l2_learning?
>  
> I am using  l2_learning, log.level with --DEBUG flag, and a custom module 
> that only handles Flow Removed events (only to print them)
> 
> 
> 
> Are you sure?  Try monitoring the OpenFlow connection to the controller (this 
> can be done with Wireshark, for example, or with a little modification to 
> POX).  Do you see packet-ins with the ARPs in them?
> 
> Sorry you are right, by using Wireshark with OF dissector i see the packet In 
> messages containing arp. 
> However, since the hosts don't exchange ARP Messages, but POX receives Packet 
> In messages were do these messages come from? 
> Also, why the ARP request packets encapsulated in Packet In target a specific 
> MAC, as opposed to usual ARP request targeting every MAC? Is it a 
> "keep-alive" like mechanism for ARP Cache entries, or am i way off base?

Are you sure they're not?  You've inspected the right interfaces with Wireshark 
or whatever?  I am guessing they are there.  (And that Linux's ARP logic is not 
as straightforward as one might imagine.)

> The direct answer to your question of whether they should be identical... 
> ideally, yes.  But in the real world, it's not realistic.  There are a number 
> of things which make this difficult (involving all three of the OpenFlow 
> specification, switch implementations, and tradeoffs in POX).  For the 
> particular case of matching flow-mod and flow-removed matches, there's an 
> easy and foolproof method that can generally be applied: associate them via 
> the cookie instead of the match.  This is way more robust.  (Unfortunately 
> the same can't be done with 1.0 packet-ins except for switches that support 
> the Nicira extended packet-in, IIRC.)
> 
> In this specific case, it looks like my original from_packet() code 
> (2f296eba31) didn't set vlan_pcp here, since it's also explicitly setting the 
> match to not match any VLAN-tagged packets.  The vlan_pcp=0 was added later 
> as part of a commit that looks like it was driven by the POX 
> switch/flow-table code, which I didn't have anything to do with at the time, 
> and don't immediately know what to make of.  I'm sure it was meant to solve a 
> specific problem, but on the face of it, it seems wrong.  So maybe it wasn't 
> the best possible fix.
> 
> In practice, switches hopefully just ignore it since it can't possibly be 
> true that dl_vlan=65535 and dl_vlan_pcp is actually significant.  The switch 
> you're using apparently does, since it comes back wildcarded.  But if an 
> issue were filed on this, I'd be tempted to change it back to how it was, 
> maybe even ignoring the impact on the POX flow table for now (which has 
> outstanding issues/patches which may be related anyway, e.g. #142).
> 
> (That still won't mean that attempting to match your constructed matches 
> against the ones in the switch is likely to work without extra effort, 
> though.)
> 
> That's exactly how i came up with the question, i was trying to match 
> flow-mod and flow-removed matches, i will try using the cookie from now on.
> 
> 
> 
> Thank you very much for all your help on the matter

Reply via email to