Hi Cayle, The below part of the NOX code should take care of features reply messages during the handshake. If you don't get the warning message, the reply was not unexpected. http://noxrepo.org/cgi-bin/gitweb.cgi?p=nox;a=blob;f=src/builtin/nox.cc;hb=HEAD#l1116
It is usual that the initial hello and feature request from the controller are sent in the same TCP segment - as Murhpy suggested. You can confirm this by at least checking the length of the segment identified as the controller's hello (8 bytes vs 16 bytes). Regards, Zoltan. ________________________________________ From: nox-dev-boun...@noxrepo.org [nox-dev-boun...@noxrepo.org] On Behalf Of Murphy McCauley [jam...@nau.edu] Sent: Wednesday, January 11, 2012 9:59 PM To: Cayle Spandon Cc: nox-dev@noxrepo.org Subject: Re: [nox-dev] features-reply without features-request I can't speak as to the particulars of the reference switch (you might try one of the OpenFlow mailing lists). However, the spec does state that part of the handshake sequence is that the controller sends a features request when a connection is established. I don't see this in your sequences of messages below. NOX should do this. Are you using NOX? If so, is it possible you missed this message (remember that multiple OpenFlow messages can be in the same packet, so it is possible it's in packet #4 along with the HELLO or something -- you'll have to look at the detail view of the packet, not just the summary line)? If the message really isn't there, I suppose it's possible that ofprotocol does this proactively, but in this case I believe your controller is out of spec. -- Murphy On Jan 11, 2012, at 6:00 AM, Cayle Spandon wrote: > Are OpenFlow controllers expected to process unsolicited feature-reply > messages? > > I am running the following setup: > > controller ----- ofprotocol ----- ofdatapath > > Using wireshark I see the following sequence of messages: > > #1 ofprotocol -> ofdatapath : hello > #2 ofprotocol -> controller : hello > #3 ofdatapath -> ofprotocol : hello > #4 controller -> ofprotocol : hello > #5 ofprotocol -> ofdatapath : features-request > #6 ofdatapath -> ofprotocol : features-reply > #7 ofprotocol -> controller : features-reply > > This means that the controller gets a features-reply even though it > never sent a features-request. > > It appears that ofprotocol originates the features-request to the > switch (which is somewhat surprising because I thought it was supposed > to be a dumb pass-through) and the forwards the features-reply to the > controller. > _______________________________________________ > 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 _______________________________________________ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev