You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As we have discussed prior to version b3, pyof doesn't have yet a version independent unpack function, and is not yet capable of unpacking Hello messages with a body properly, nor hello messages of version different from those available in pyof.
So that a proper handshake could be achieved, we have implemented a few utility methods in of_core.utils . The logic in these methods need to be incorporated in pyof, so that a single call to pyof.utils.unpack is necessary, instead of having to separate the hello unpack (GenericHello https://github.com/kytos/kytos-napps/blob/master/napps/kytos/of_core/main.py#L135) from the other unpacks (unpack https://github.com/kytos/kytos-napps/blob/master/napps/kytos/of_core/main.py#L152).
For this, we need first to:
move the unpack method to pyof. (it will also make sure that tests in pyof behave in the same way).
move packet validation to inside the unpack method (checks of length and valid version).
replace the call to of_core.utils.unpack to a call to pyof.utils.unpack
place tests for multiple hello messages with multiple versions and bodies.
fix the pyof hello unpack.
make sure it only raises UnpackException
And once pyof.utils.unpack is capable of unpacking any hello message:
replace the separate calls to unpack and GenericHello to a single call to pyof.utils.unpack.
As we have discussed prior to version b3, pyof doesn't have yet a version independent unpack function, and is not yet capable of unpacking Hello messages with a body properly, nor hello messages of version different from those available in pyof.
So that a proper handshake could be achieved, we have implemented a few utility methods in of_core.utils . The logic in these methods need to be incorporated in pyof, so that a single call to pyof.utils.unpack is necessary, instead of having to separate the hello unpack (GenericHello https://github.com/kytos/kytos-napps/blob/master/napps/kytos/of_core/main.py#L135) from the other unpacks (unpack https://github.com/kytos/kytos-napps/blob/master/napps/kytos/of_core/main.py#L152).
For this, we need first to:
And once pyof.utils.unpack is capable of unpacking any hello message:
make tests use the same unpack method as the lib - kytos/python-openflow#396
Provide a version independent unpack method - kytos/python-openflow#381
Version Unpacking Problems - kytos/python-openflow#344
Hello Messages compliance - optional elements - kytos/python-openflow#379
v0x04 Hello unpack bug - kytos/python-openflow#378
The text was updated successfully, but these errors were encountered: