ofproto: Implement asynchronous OFPT_FLOW_MOD commands.
authorBen Pfaff <blp@nicira.com>
Tue, 7 Jun 2011 23:21:59 +0000 (16:21 -0700)
committerBen Pfaff <blp@nicira.com>
Tue, 14 Jun 2011 18:21:51 +0000 (11:21 -0700)
commit7ee20df120d4d56df894abc00a60fe1bc43a058d
tree9b4f1dc6d3dc3db0309012cbbfaa516216cd921f
parent9ed18e4635439cf6cf57a47e3d52b30fce235a70
ofproto: Implement asynchronous OFPT_FLOW_MOD commands.

Some switching hardware takes a very long time to update its forwarding
rules, up to hundreds of milliseconds.  It is undesirable for Open
vSwitch to block waiting this long for individual OpenFlow flow table
modification commands to complete.  This commit enables ofproto to queue
up any number of independent flow table operations with asynchronous
completion.

I tested earlier versions of this commit using the "ofproto/clog" and
"ofproto/unclog" commands that it implements in the software switch
implementation.  I have not tested the current version very much at all.

CC: Casey Barker <crbarker@google.com>
CC: Rajiv Ramanathan <rajivr@google.com>
ofproto/connmgr.c
ofproto/connmgr.h
ofproto/in-band.c
ofproto/in-band.h
ofproto/ofproto-dpif.c
ofproto/ofproto.c
ofproto/private.h