If OVS receives a Hello packet with version set to 0, it logs an error
"received message while expecting hello" and change's vconn's state without
sending any message back to the controller.

Is this a desired behavior? The standard isn't really clear on how to
process a Hello packet with version == 0 (or if its even a valid OpenFlow
packet at that point), but I think its reasonable for a controller to
expect either one of the following two messages:

1. An OFPT_ERROR message with OFPET_HELLO_FAILED error type, and
OFPHFC_INCOMPATIBLE error code (this was the behavior of OVS 1.4.0 stack,
but the code base, and checks were significantly different then. The old
code didn't really check for version number range, simply transitioned to
VCS_SEND_ERROR state, and sent an error back to controller)

2. An OFPT_ERROR message with OFPET_BAD_REQUEST error type, and
OFPBRC_BAD_VERSION error code.

Thanks,
Anup
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to