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

Reply via email to