bridge: Don't pay attention to columns that vswitchd doesn't need.
authorBen Pfaff <blp@nicira.com>
Wed, 11 Aug 2010 22:29:36 +0000 (15:29 -0700)
committerBen Pfaff <blp@nicira.com>
Wed, 11 Aug 2010 22:41:42 +0000 (15:41 -0700)
commite85bbd75f7eafe06edcd3edf88bb685e1541bcfe
tree8009c41d5eeb831719e15c9749ccb8ed1adb5c62
parentc547535a7c25ce4717b965b77877062796f12a95
bridge: Don't pay attention to columns that vswitchd doesn't need.

Not replicating unneeded columns has some value in avoiding CPU time and
bandwidth to the database.  In ovs-vswitchd, setting cur_cfg as write-only
also have great value in avoiding extra reconfiguration steps.  When
ovs-vsctl is used in its default mode this essentially avoids half of the
reconfigurations that ovs-vswitchd currently does.  What happens now is:

    1. ovs-vsctl updates the database and increments next_cfg.
    2. ovs-vswitchd notices the change to the database, reconfigures
       itself, then increments cur_cfg to match next_cfg.
    3. The database sends the change to cur_cfg back to ovs-vswitchd.
    4. ovs-vswitchd reconfigures itself a second time.

By not replicating cur_cfg we avoid step 3 and save a whole reconfiguration
step.

Also, now that the database contains interface statistics, this avoids
reconfiguring every time that statistics are updated.
lib/ovsdb-idl.c
vswitchd/bridge.c