[ovs-dev] [PATCH 00/26] Make ofproto-dpif-xlate easier to understand
Ben Pfaff
blp at nicira.com
Thu Jul 30 06:42:20 UTC 2015
For testing OVN, I wanted to make what I thought would be straightforward
changes to ofproto-dpif-xlate, but I found that it was too obscure. This
series refactors it in several minor ways that in my opinion make it
easier to understand.
A few of the patches may improve performance (e.g. patch 5) or fix
bugs (e.g. the final patch).
Ben Pfaff (26):
ofproto-dpif-xlate: Initialize '*xout' all together at beginning.
list: New macro OVS_LIST_POISON for initializing a poisoned list.
ofpbuf: New macro OFPBUF_STUB_INITIALIZER.
ofproto-dpif-xlate: Initialize 'ctx' all in one place.
ofproto-dpif-xlate: Make xlate_actions() caller supply flow_wildcards.
ofproto-dpif-xlate: Make xlate_actions() caller supply action buffer.
ofproto-dpif-xlate: Calculate 'ofpacts' in more restricted scope.
ofproto-dpif-xlate: Eliminate 'rule' local variable.
ofproto-dpif-xlate: Simplify invocation of process_special().
ofproto-dpif-xlate: Eliminate 'is_icmp' from xlate_actions().
ofproto-dpif-xlate: Move declaration of 'orig_flow' near its first
use.
ofproto-dpif-xlate: Simplify 'sample_actions_len' calculation.
tunnel: Break tnl_xlate_init() into two separate functions.
ofproto-dpif-xlate: Factor wildcard processing out of xlate_actions().
ofproto-dpif-xlate: Clean up sFlow and IPFIX sampling code.
ofproto-dpif-xlate: Set up 'base_flow' when we initialize 'ctx'.
ofproto-dpif-xlate: Move 'mirrors' from xlate_out to xlate_ctx.
ofproto-dpif-xlate: Remove multiple members from struct xlate_out.
ofproto-dpif-xlate: Move 'nf_output_iface' from xlate_out to
xlate_ctx.
ofproto-dpif-xlate: Move initialization of 'in_port' closer to first
use.
ofproto-dpif-xlate: Drop packets received from mirror output ports
earlier.
ofproto-dpif-xlate: Rewrite mirroring to better fit flow translation.
ofproto-dpif-rid: Factor recirculation state out as new structure.
ofp-actions: Add action "debug_recirc" for testing recirculation.
ofproto-dpif-xlate: Add recirculation information to "ofproto/trace".
ofproto-dpif-xlate: Fix mirroring interaction with recirculation.
lib/dummy.c | 1 +
lib/dummy.h | 1 +
lib/list.h | 7 +-
lib/ofp-actions.c | 61 +++
lib/ofp-actions.h | 6 +
lib/ofpbuf.h | 21 +-
ofproto/ofproto-dpif-rid.c | 164 +++----
ofproto/ofproto-dpif-rid.h | 45 +-
ofproto/ofproto-dpif-upcall.c | 80 ++--
ofproto/ofproto-dpif-xlate.c | 1056 ++++++++++++++++++++---------------------
ofproto/ofproto-dpif-xlate.h | 41 +-
ofproto/ofproto-dpif.c | 21 +-
ofproto/tunnel.c | 85 ++--
ofproto/tunnel.h | 3 +-
tests/ofproto-dpif.at | 42 +-
vswitchd/vswitch.xml | 26 +
16 files changed, 857 insertions(+), 803 deletions(-)
--
2.1.3
More information about the dev
mailing list