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