We tried to connect the OVS2.8.2 with the ODL controller. Though the TCP
connection is established b/w the OVS and the controller, the connected node
was not present in the DS.
The issue seem to be due to incomplete handshake b/w the switch and the
controller. This issue in handshake is due to the following :
By default the Openflow version in OVS2.8.2 switches are OF1.4.
Since OF1.4 not supported by the controller, version negotiation process takes
place to agree on a OF version wherein
a) If the HELLO msg sent by the switch has version bitmap(field
containing info about support for all the OF versions), the negotiation is done
in a single step with the highest version supported by both switch & controller
as the agreed version.
b) In case of absence of the version bitmap, the negotiation happens in
steps in which the controller sends its version bitmap to the switch and
expects the switch to send the HELLO msg with a version supported by the
However, if all versions until a version say X is supported, the OVS switch
doesn't send the version bitmap as it implies that all versions till X are
supported (version bitmap unnecessary here ?).
On receiving the HELLO msg from the controller (with the version bitmap) it
assumes that the controller has already decided upon the version and doesn't
send further HELLO messages.
So, does the absence of the version bitmap always mean that all the versions
till the version of the HELLO msg are supported by the switch(or controller).
Could there be switches just without the version bitmap capability ? If there
are such switches, how could we differentiate b/w them?
Note: Currently, we are using a workaround wherein we implicitly the Openflow
version in the version(to OF13).
Thanks and Regards,
openflowplugin-dev mailing list