On Wed, Jun 11, 2014 at 01:34:42PM +0900, Simon Horman wrote: > Buffer a multi-part requests until all its parts are received. > > This is achieved by initialising the list_node field of messages > and passing them to ofmp_req_filter(). > > * If the message is not recognised as part of a multi-part requests it is > simply returned and processing continues as before. > > * If the messages part of a multipart request but is not the last message > of that request then it is buffered and ofmp_req_filter() returns NULL > indicating that the message should be skipped for now. > > * Otherwise, if the message is the last part of a multipart request then > the first message that is the part of the request is returned and any > subsequent parts are accessible via its list_head field. > > Some implementation notes: > > * As the list_head field may now contain messages ofpbuf_list_delete > should be used to delete them as necessary. > > * This places a limit of OFCONN_MP_REQ_MAX (=1024) on the > number of multipart requests may be buffered. > > * This code should have no affect on message handling at this > time as ofpmsg_may_buffer_mp_request() always returns false. > It should be updated along with support for traversing > the list_head field of messages when adding multipart request > support to individual message types. > > Signed-off-by: Simon Horman <[email protected]> > > --- > v2 > * Use ofpmsg_may_buffer_mp_request() to only buffer messages for > which buffering is enabled. Currently there are none. > * Annotate mp_reqs field of struct ofconn with OVS_GUARDED_BY(ofproto_mutex) > * Add locking > * Add limitation on the number of messages that may be buffered
This looks OK at first glance but it needs a rebase due to recent connmgr changes. Thanks, Ben. _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
