[ovs-dev] [PATCH 5/5] netflow: Only un-wildcard IPv4 packets.

Ethan Jackson ethan at nicira.com
Fri Jun 28 01:37:59 UTC 2013


Acked-by: Ethan Jackson <ethan at nicira.com>

On Thu, Jun 27, 2013 at 6:16 PM, Justin Pettit <jpettit at nicira.com> wrote:
> NetFlow v5 only supports IPv4, so don't bother un-wildcarding
> non-IPv4 packets.
>
> Signed-off-by: Justin Pettit <jpettit at nicira.com>
> ---
>  ofproto/netflow.c            |    5 ++++-
>  ofproto/netflow.h            |    2 +-
>  ofproto/ofproto-dpif-xlate.c |    2 +-
>  3 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/ofproto/netflow.c b/ofproto/netflow.c
> index c7eb2b5..19ca80f 100644
> --- a/ofproto/netflow.c
> +++ b/ofproto/netflow.c
> @@ -52,8 +52,11 @@ struct netflow {
>  };
>
>  void
> -netflow_mask_wc(struct flow_wildcards *wc)
> +netflow_mask_wc(struct flow *flow, struct flow_wildcards *wc)
>  {
> +    if (flow->dl_type != htons(ETH_TYPE_IP)) {
> +        return;
> +    }
>      memset(&wc->masks.nw_proto, 0xff, sizeof wc->masks.nw_proto);
>      memset(&wc->masks.nw_src, 0xff, sizeof wc->masks.nw_src);
>      memset(&wc->masks.nw_dst, 0xff, sizeof wc->masks.nw_dst);
> diff --git a/ofproto/netflow.h b/ofproto/netflow.h
> index 7e6debc..e2366f6 100644
> --- a/ofproto/netflow.h
> +++ b/ofproto/netflow.h
> @@ -62,7 +62,7 @@ void netflow_expire(struct netflow *, struct netflow_flow *,
>  bool netflow_run(struct netflow *);
>  void netflow_wait(struct netflow *);
>
> -void netflow_mask_wc(struct flow_wildcards *);
> +void netflow_mask_wc(struct flow *, struct flow_wildcards *);
>
>  void netflow_flow_init(struct netflow_flow *);
>  void netflow_flow_clear(struct netflow_flow *);
> diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
> index e338fc4..2033844 100644
> --- a/ofproto/ofproto-dpif-xlate.c
> +++ b/ofproto/ofproto-dpif-xlate.c
> @@ -1902,7 +1902,7 @@ xlate_actions(struct xlate_in *xin, struct xlate_out *xout)
>          memset(&wc->masks.tunnel, 0xff, sizeof wc->masks.tunnel);
>      }
>      if (xin->ofproto->netflow) {
> -        netflow_mask_wc(wc);
> +        netflow_mask_wc(flow, wc);
>      }
>
>      ctx.xout->tags = 0;
> --
> 1.7.5.4
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
X-CudaMail-Whitelist-To: dev at openvswitch.org



More information about the dev mailing list