pyswitch is the component responsible.  The most likely reason for the behavior 
you're seeing is that pyswitch will not install flows when the destination is a 
multicast address (nor does it "learn" the port for multicast source 
addresses), and the LLDP packet is more than likely to a multicast address.

The code that pyswitch uses to check for multicast addresses looks something 
like: ord(addr[0]) & 1
That is -- the low bit of the first byte of the address is set.  This happens 
on something like line 59 and line 82 of pyswitch.

pyswitch *does* send the packet back out, though.  It just doesn't install a 
flow.  The if statement on line 82 evaluates to false, causing the 
send_openflow (packet_out) on line 99.

-- Murphy

On Aug 23, 2011, at 4:33 PM, Chen Gao wrote:

> Dear All,
>  
> I’m a little confused about which component handle packet_in and packet_out 
> in NOX.
>  
> If I don’t run any component, there is no packet_out message shown in 
> wireshark.
>  
> When I run pyswitch, there is some packet_out message for packet_in with type 
> OFP+LLDP. And nox doesn’t send flow_mod to add a flow for the OFP+LLDP 
> message. But for ICMP packet_in message, nox will send a flow_mod message to 
> add a flow in switch.
>  
> So does it mean that pyswitch doesn’t care about OFP+LLDP message? Who makes 
> the packet_out for OFP+LLDP?
>  
> Thank you
>  
> Chen
> _______________________________________________
> nox-dev mailing list
> nox-dev@noxrepo.org
> http://noxrepo.org/mailman/listinfo/nox-dev

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

Reply via email to