[ovs-dev] [PATCH v10] Extend OVS IPFIX exporter to export tunnel headers

Wenyu Zhang wenyuz at vmware.com
Mon Aug 18 03:19:13 UTC 2014

Thanks for the reviewing.

I have applied the attached patch, and add a check about vport->ops->get_egress_tun_info before calling it, because         that get_egress_tun_info() is only implemented on tunnel ports now.

I will send the new patch later.


-----Original Message-----
From: Pravin Shelar [mailto:pshelar at nicira.com] 
Sent: Saturday, August 16, 2014 2:25 AM
To: Wenyu Zhang
Cc: Romain Lenglet; Ben Pfaff; Jesse Gross; dev at openvswitch.org
Subject: Re: [PATCH v10] Extend OVS IPFIX exporter to export tunnel headers

On Fri, Aug 15, 2014 at 12:53 AM, Wenyu Zhang <wenyuz at vmware.com> wrote:
> Extend IPFIX exporter to export tunnel headers when both input and 
> output of the port.
> Add three other_config options in IPFIX table: enable-input-sampling, 
> enable-output-sampling and enable-tunnel-sampling, to control whether 
> sampling tunnel info, on which direction (input or output).
> Insert sampling action before output action and the output tunnel port 
> is sent to datapath in the sampling action.
> Make datapath collect output tunnel info and send it back to userpace 
> in upcall message with a new additional optional attribute.
> Add a tunnel ports map to make the tunnel port lookup faster in 
> sampling upcalls in IPFIX exporter. Make the IPFIX exporter generate 
> IPFIX template sets with enterprise elements for the tunnel info, save 
> the tunnel info in IPFIX cache entries, and send IPFIX DATA with tunnel info.
> Add flowDirection element in IPFIX templates.
> Signed-off-by: Wenyu Zhang <wenyuz at vmware.com>
> Acked-by: Romain Lenglet <rlenglet at vmware.com>
> Acked-by: Ben Pfaff <blp at nicira.com>
> ---
> v2: Address Romain's comments
> v3: Address Pravin's comments, make datapath sent all tunnel info,
>     not only tunnel key to userspace.
> v4: Address Pravin's comments, introduce a common function to get output
>     tunnel info for all vports, remove duplicated codes.
>     Rebase.
> v5: Address Pravin's comments on v4, correct sparse errors, make a common
>     function to setup tunnel info data for both input and output case.
> v6: Address Pravin's comments on v5, correct coding style issues in kernel.
>     Rebase.
> v7: Address Pravin's minor comments on v6.
>     Rebase.
> v8: Address Ben's comments, apply the patch, clear duplicated codes, and
>     document the VMware enterprise entities in vswitch.xml.
>     Convert out_tun_* and out_tunnel_* to egress_tun_* in datapath to keep
>     consistent with Pravin's patch in kernel.
>     Rebase.
> v9: Address Ben's comments on v8, clear type mismatch warnings, and keep the
>     existent kernel interface enums unchanged.
>     Rebase.
> v10:Rebase.
> ---

I was going to push this patch, but I saw warning with clang.

ofproto_la-bundles.lo -MD -MP -MF
ofproto/.deps/ofproto_libofproto_la-bundles.Tpo -c ofproto/bundles.c -o ofproto/ofproto_libofproto_la-bundles.o
ofproto/ofproto-dpif-upcall.c:1015:61: warning: incompatible pointer types passing 'const struct flow **' to parameter of type 'const struct flow *'; remove & [-Wincompatible-pointer-types]
            dpif_ipfix_bridge_sample(upcall->ipfix, packet, &flow,
ofproto/ofproto-dpif-ipfix.h:50:50: note: passing argument to parameter here
                              const struct flow *,

So can you fold attached changes that I did change along with fix for warning and send patch.



More information about the dev mailing list