The goal of this series is to modularize xlate_actions() in preparation for making it thread safe. It gets us most of the way there, but there's still some further cleanup in that area necessary.
The first two patches are the same as my "mirror v2" series, followed by a bunch of trivial reference counting patches, and the big patch. The final patch is mostly find/replace, but there is some API code which needs careful attention. Ethan Jackson (18): ofproto-dpif: Handle dest mirrors in compose_output_action(). ofproto-dpif: Modularize mirror code. cfm: Reference count 'struct cfm'. bfd: Reference count 'struct bfd'. lacp: Reference count 'struct lacp'. bond: Reference count 'struct bond'. mac-learning: Reference count 'struct mac_learning". ofproto-dpif-sflow: Reference count 'struct dpif_sflow'. ofproto-dpif-ipfix: Reference count 'struct dpif_ipfix'. ofproto-dpif: Remove 'has_bundle_action'. netdev: Support null netdev argument in netdev_ref(). connmgr: Remove connmgr_must_output_local(). ofproto-dpif: Move tag_the_flow() to ofproto-dpif.c bond: Handle unknown slaves in bond_check_admissibility(). lacp: Handle unknown slaves in lacp_process_packet(). tunnel: Use ofport_dpif instead of ofport. tunnel: Hide 'struct tnl_port' internally. ofproto-dpif: Modularize ofproto-dpif-xlate. lib/bfd.c | 33 +- lib/bfd.h | 2 + lib/bond.c | 26 +- lib/bond.h | 3 +- lib/cfm.c | 21 +- lib/cfm.h | 3 +- lib/lacp.c | 27 +- lib/lacp.h | 3 +- lib/learning-switch.c | 2 +- lib/mac-learning.c | 23 +- lib/mac-learning.h | 4 +- lib/netdev.c | 9 +- ofproto/automake.mk | 2 + ofproto/connmgr.c | 8 +- ofproto/connmgr.h | 5 +- ofproto/ofproto-dpif-ipfix.c | 22 +- ofproto/ofproto-dpif-ipfix.h | 4 +- ofproto/ofproto-dpif-mirror.c | 539 ++++++++++++++++++++++++ ofproto/ofproto-dpif-mirror.h | 52 +++ ofproto/ofproto-dpif-sflow.c | 22 +- ofproto/ofproto-dpif-sflow.h | 4 +- ofproto/ofproto-dpif-xlate.c | 927 +++++++++++++++++++++++++++++------------ ofproto/ofproto-dpif-xlate.h | 30 ++ ofproto/ofproto-dpif.c | 591 ++++++++++++-------------- ofproto/ofproto-dpif.h | 191 +-------- ofproto/tunnel.c | 105 +++-- ofproto/tunnel.h | 17 +- tests/ofproto-dpif.at | 66 +-- 28 files changed, 1847 insertions(+), 894 deletions(-) create mode 100644 ofproto/ofproto-dpif-mirror.c create mode 100644 ofproto/ofproto-dpif-mirror.h -- 1.7.9.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev