Re: Ordering of multipart reply messages with the same transaction ID

Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES@Cisco) <mirehak@...>

Hi Vitaly,

yes - this can happen because notifications are delivered by md-dal and it depends in internal implementation there if multiple threads are involved which could result into random delivery order.

This is covered in Li-codebase of ofPlugin where complete statistics are atomically written into dataStore and apps are expected to listen to dataChangeNotifications.



From: openflowjava-dev-bounces@... <openflowjava-dev-bounces@...> on behalf of Vitaliy Nazaryants <vinazaryants@...>
Sent: Friday, October 9, 2015 11:41
To: openflowplugin-dev@...
Cc: openflowjava-dev@...
Subject: [openflowjava-dev] Ordering of multipart reply messages with the same transaction ID

   We use flow statistics requests to track the flows currently installed on the switches. When the number of flows on a switch is large, the controller receives several multipart replies for one request, and it turns out that somehow the order of notifications for these replies is not stable. We listen to the FlowsStatisticsUpdate notifications having the necessary transaction ID and track the OFPMPF_REQ_MORE flag to find the last reply in the sequence, but, although the switches send replies in the correct order (if I may say so, but at least OFPMPF_REQ_MORE = 0 is in the last reply), the order of FlowsStatisticsUpdate notifications is such that sometimes the notification with OFPMPF_REQ_MORE = 0 is in the middle of the sequence, and can even become the first one.
  Is this a known problem? Can someone suggest a way to ensure the correct order of replies / notifications in this case, at least the one with OFPMPF_REQ_MORE = 0 always being the last one? Thank you in advance.

Best Regards,
Vitaly Nazaryants
Software Engineer, Mirantis Inc.
Work phone: +7(8452) 674 555
Cell phone: +7917 215 9329
Skype: newalias

Join { to automatically receive all group messages.