[ovs-git] Open vSwitch: tag: Retire the venerable tag library. (master)

dev at openvswitch.org dev at openvswitch.org
Fri Aug 2 21:43:51 UTC 2013


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Open vSwitch".

The branch, master has been updated
       via  a16160631a38e3c1881beead1cec8bff0534495b (commit)
       via  4a1b8f30e5956655b59200d673964b9f3f9ad711 (commit)
       via  30618594b6c68497b56443de81a7f19e57e3e898 (commit)
      from  15aee11695811c70efd8b7d3dab11625b4dd59f2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit a16160631a38e3c1881beead1cec8bff0534495b
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=a16160631a38e3c1881beead1cec8bff0534495b
Author: Ethan Jackson <ethan at nicira.com>
		
tag: Retire the venerable tag library.
		
This patch retires a venerable library whose inception dates before
the first patch of the current repository: tags.  They have served us
well, but their time has come for the reasons listed below.

1) They don't actually help much.
In theory, tags had been used to reduce revalidation necessary when
using bonds, mac-learning, and frequently changing flow tables.  With
bonds and mac-learning, things change happen so rarely that tagging
isn't worth it.  That leaves flow table changes. With the complex flow
tables in my testing, the revalidate_set gets so overwhelmed with
tags, that we end up revalidating every facet every time through the
run loop.  In other words, they tags are giving us no benefit.

2) They complicate the code.
This patch simplifies the code and removes a couple of rather ugly
kludges.

3) They complicated locking once threading hits.
Because of the calculate_flow_tag() function, the table_dpif structure
would require locking in a multi-threaded OVS.  Though this problem
isn't insurmountable, it's annoying and probably would cause lock
contention.

Of course, we could try to work around these problems with a more
advanced tagging infrastructure, but this moves in the opposite of the
direction we should be.  Ideally we'll have a more-or-less stateless
ofproto-dpif supporting a massive number of datapath flows.  Tags (or
facets for that matter) aren't going to work in this new world.

Signed-off-by: Ethan Jackson <ethan at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


commit 4a1b8f30e5956655b59200d673964b9f3f9ad711
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=4a1b8f30e5956655b59200d673964b9f3f9ad711
Author: Ethan Jackson <ethan at nicira.com>
		
bond: Stop using tags.
		
This patch transitions bonding away from using tags as required by
future patches.

Signed-off-by: Ethan Jackson <ethan at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


commit 30618594b6c68497b56443de81a7f19e57e3e898
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=30618594b6c68497b56443de81a7f19e57e3e898
Author: Ethan Jackson <ethan at nicira.com>
		
mac-learning: Stop using tags.
		
This patch transitions mac learning away from using tags as required
by future patches.

Signed-off-by: Ethan Jackson <ethan at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


-----------------------------------------------------------------------

Summary of changes:
 lib/automake.mk              |    2 -
 lib/bond.c                   |  152 ++++++---------------
 lib/bond.h                   |   11 +-
 lib/learning-switch.c        |    9 +-
 lib/mac-learning.c           |   60 +++------
 lib/mac-learning.h           |   22 +--
 lib/tag.c                    |  117 ----------------
 lib/tag.h                    |  134 ------------------
 ofproto/ofproto-dpif-xlate.c |   20 +--
 ofproto/ofproto-dpif-xlate.h |    2 -
 ofproto/ofproto-dpif.c       |  306 ++++++++----------------------------------
 ofproto/ofproto-dpif.h       |    5 -
 ofproto/ofproto.h            |    1 -
 13 files changed, 137 insertions(+), 704 deletions(-)
 delete mode 100644 lib/tag.c
 delete mode 100644 lib/tag.h


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list