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

Pravin Shelar pshelar at nicira.com
Wed Aug 13 17:09:11 UTC 2014


On Wed, Aug 13, 2014 at 10:01 AM, Ben Pfaff <blp at nicira.com> wrote:
> On Fri, Aug 08, 2014 at 04:02:24AM -0700, Wenyu Zhang 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>
>
> This patch renumbers OVS_TUNNEL_KEY_ATTR_OAM and
> OVS_TUNNEL_KEY_ATTR_GENEVE_OPTS.  Is that really OK?
>
It is not ok.
There are another fixes to kernel part which I was going to do before
pushing this patch to master.

Thanks,
Pravin.

> @@ -338,10 +345,12 @@ enum ovs_tunnel_key_attr {
>         OVS_TUNNEL_KEY_ATTR_IPV4_DST,           /* be32 dst IP address. */
>         OVS_TUNNEL_KEY_ATTR_TOS,                /* u8 Tunnel IP ToS. */
>         OVS_TUNNEL_KEY_ATTR_TTL,                /* u8 Tunnel IP TTL. */
>         OVS_TUNNEL_KEY_ATTR_DONT_FRAGMENT,      /* No argument, set DF. */
>         OVS_TUNNEL_KEY_ATTR_CSUM,               /* No argument. CSUM packet. */
> +       OVS_TUNNEL_KEY_ATTR_TP_SRC,             /* be16 src Transport Port. */
> +       OVS_TUNNEL_KEY_ATTR_TP_DST,             /* be16 dst Transport Port. */
>         OVS_TUNNEL_KEY_ATTR_OAM,                /* No argument, OAM frame. */
>         OVS_TUNNEL_KEY_ATTR_GENEVE_OPTS,        /* Array of Geneve options */
>         __OVS_TUNNEL_KEY_ATTR_MAX
>  };
>  #define OVS_TUNNEL_KEY_ATTR_MAX (__OVS_TUNNEL_KEY_ATTR_MAX - 1)
>
> I'm continuing to look at it.



More information about the dev mailing list