On May 20, 2014, at 3:55 PM, durga <c.vijaya.du...@gmail.com> wrote:
> May be I am misinterpreting Wireshark , but I see that the LLDP packet is > received on the sender switch , but on a different port. > > Example:Switch (DpID:3 ) is instructed to send a LLDP packet on port 2 . That > would be the first OFP_LLDP packet out message in the below screenshot. > the second row, is a packet in message, received on port 3 of the switch > (dpid 3) ,with the LLDP packet as payload . > I did look for other packets captured too, but I see that LLDP packet sent > out from one port of a switch is received and passed to the controller via > another port, but not by another switch. How do you know they're the same switch? I suspect they are different switches. The outermost ethernet addresses are all 00:00:00:00:00:00, so they're not helpful for telling them apart. Look at the TCP port numbers. The highlighted packet is using TCP port 44043 for the OpenFlow connection. What port number is being used for the TCP connection in the packet above it (which sent the packet-out)? I doubt it's 44043 -- different port number, different OpenFlow control connection, different switch. To more fully convince yourself, use Wireshark's "Conversation filter" on one of those packets, and I doubt you see both of them in the filtered list. Follow back until you find a features reply at the beginning of the stream, and the DPID in it probably doesn't match the one in the packet-in LLDP messages. Unless, of course, your topology has loops or you OpenFlow forwarding code is instructing switches to forward the LLDP messages back or something. -- Murphy > > > Am I missing something obvious or did not understand properly here? > > > Cheers! > Durga > > > > On Wed, May 21, 2014 at 7:14 AM, Murphy McCauley <murphy.mccau...@gmail.com> > wrote: > > On May 20, 2014, at 1:51 AM, durga <c.vijaya.du...@gmail.com> wrote: > >> Hello All, >> >> This question is w.r.t LLDP . Upon bootup - controller instructs switch to >> 'packet-out' LLDP protocol on its interface. Lets say SW1, P1. If the >> topology is SW1.P1<—> SW2.P2, I would expect SW2 to send an OF message to >> the controller with payload of the LLDP received from SW1.P1. That way the >> controller can establish that SW1.P1 is indeed connected to SW2.P1. > > Right. > >> But when I run openflow/discovery.py , I notice that SW2.P1 is sending an >> LLDP packet with its own details iw SW2.P1 and not SW1.P1 , > > What makes you think that? It shouldn't be the case. > >> may be my understanding is incorrect, but how exaclty is the controller able >> to conclude SW1.P1 is connected to SW2.P1? >> >> controller logs: >> >> INFO:openflow.of_01:[None 6] closed >> INFO:openflow.of_01:[00-00-00-00-00-01 7] connected >> DEBUG:discovery:Installing flow for 00-00-00-00-00-01 >> INFO:openflow.of_01:[00-00-00-00-00-02 8] connected >> DEBUG:discovery:Installing flow for 00-00-00-00-00-02 >> INFO:discovery:link detected: 00-00-00-00-00-01.2 -> 00-00-00-00-00-02.2 >> INFO:discovery:link detected: 00-00-00-00-00-02.2 -> 00-00-00-00-00-01.2 >> >> >> screenshot: >> >> >> >> Cheers! >> Durga >> > >