Acked-By: Miguel Angel Ajo
On Tue, Apr 18, 2017 at 9:47 PM, Ben Pfaff wrote:
> This will have a new user in an upcoming commit.
>
> Signed-off-by: Ben Pfaff
> ---
> lib/flow.c | 21 +
> lib/flow.h | 1 +
> ofproto/ofproto-dpif-xlate.c | 18 +-
> 3 files changed, 23 insertions(+), 17 deletions(-)
>
> diff --git a/lib/flow.c b/lib/flow.c
> index 7552cd72a173..2ba51214ef80 100644
> --- a/lib/flow.c
> +++ b/lib/flow.c
> @@ -1024,6 +1024,27 @@ ct_state_from_string(const char *s)
> return 0;
> }
>
> +/* Clears the fields in 'flow' associated with connection tracking. */
> +void
> +flow_clear_conntrack(struct flow *flow)
> +{
> +flow->ct_state = 0;
> +flow->ct_zone = 0;
> +flow->ct_mark = 0;
> +flow->ct_label = OVS_U128_ZERO;
> +
> +flow->ct_nw_proto = 0;
> +flow->ct_tp_src = 0;
> +flow->ct_tp_dst = 0;
> +if (flow->dl_type == htons(ETH_TYPE_IP)) {
> +flow->ct_nw_src = 0;
> +flow->ct_nw_dst = 0;
> +} else if (flow->dl_type == htons(ETH_TYPE_IPV6)) {
> +memset(>ct_ipv6_src, 0, sizeof flow->ct_ipv6_src);
> +memset(>ct_ipv6_dst, 0, sizeof flow->ct_ipv6_dst);
> +}
> +}
> +
> char *
> flow_to_string(const struct flow *flow)
> {
> diff --git a/lib/flow.h b/lib/flow.h
> index 9d4ae49ccfbd..2957108a68db 100644
> --- a/lib/flow.h
> +++ b/lib/flow.h
> @@ -74,6 +74,7 @@ void flow_get_metadata(const struct flow *, struct match
> *flow_metadata);
>
> const char *ct_state_to_string(uint32_t state);
> uint32_t ct_state_from_string(const char *);
> +void flow_clear_conntrack(struct flow *);
>
> char *flow_to_string(const struct flow *);
> void format_flags(struct ds *ds, const char *(*bit_to_string)(uint32_t),
> diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
> index a24aef9a43a1..76b8a3aa729a 100644
> --- a/ofproto/ofproto-dpif-xlate.c
> +++ b/ofproto/ofproto-dpif-xlate.c
> @@ -3222,23 +3222,7 @@ static void
> clear_conntrack(struct xlate_ctx *ctx)
> {
> ctx->conntracked = false;
> -
> -struct flow *flow = >xin->flow;
> -flow->ct_state = 0;
> -flow->ct_zone = 0;
> -flow->ct_mark = 0;
> -flow->ct_label = OVS_U128_ZERO;
> -
> -flow->ct_nw_proto = 0;
> -flow->ct_tp_src = 0;
> -flow->ct_tp_dst = 0;
> -if (flow->dl_type == htons(ETH_TYPE_IP)) {
> -flow->ct_nw_src = 0;
> -flow->ct_nw_dst = 0;
> -} if (flow->dl_type == htons(ETH_TYPE_IPV6)) {
> -memset(>ct_ipv6_src, 0, sizeof flow->ct_ipv6_src);
> -memset(>ct_ipv6_dst, 0, sizeof flow->ct_ipv6_dst);
> -}
> +flow_clear_conntrack(>xin->flow);
> }
>
> static bool
> --
> 2.10.2
>
> ___
> dev mailing list
> d...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev