On Mon, Apr 22, 2013 at 10:01:14AM -0700, Romain Lenglet wrote:
> Define a new NXAST_SAMPLE OpenFlow vendor action and the corresponding
> OFPACT_SAMPLE OVS action, to do per-flow packet sampling, translated
> into a new SAMPLE "flow_sample" dp action.
> 
> Make the userspace action's userdata size vary depending on the union
> member used.  Add a new "flow_sample" upcall to do per-flow packet
> sampling.  Add a new "ipfix" upcall to do per-bridge packet sampling
> to IPFIX collectors.
> 
> Extend the OVSDB schema to support configuring IPFIX collector sets.
> Add support for configuring multiple IPFIX collectors for per-flow
> packet sampling.  Add support for configuring per-bridge IPFIX
> sampling.
> 
> Automatically generate standard IPFIX entity definitions from the IANA
> specs.  Send one IPFIX data record message for every packet sampled by
> an OpenFlow sample action or received by a bridge configured with
> IPFIX sampling, and periodically send IPFIX template set messages.
> 
> Signed-off-by: Romain Lenglet <[email protected]>

I noticed a couple of things in final review, so I just changed them
myself.

First, I didn't see a reason that the userspace datapath can't do
IPFIX, and when we IM'd you confirmed, so I applied this incremental:

diff --git a/FAQ b/FAQ
index 38c6346..e7249cf 100644
--- a/FAQ
+++ b/FAQ
@@ -192,7 +192,7 @@ Q: What features are not available when using the userspace 
datapath?
 A: Tunnel virtual ports are not supported, as described in the
    previous answer.  It is also not possible to use queue-related
    actions.  On Linux kernels before 2.6.39, maximum-sized VLAN packets
-   may not be transmitted.  IPFIX is not supported.
+   may not be transmitted.
 
 
 Terminology

Second, "sparse" reported that ntohl and htonl were reversed, so I
also applied this:

diff --git a/lib/ofp-actions.c b/lib/ofp-actions.c
index 9805d06..068699f 100644
--- a/lib/ofp-actions.c
+++ b/lib/ofp-actions.c
@@ -1428,8 +1428,8 @@ ofpact_sample_to_nxast(const struct ofpact_sample *os,
 
     nas = ofputil_put_NXAST_SAMPLE(out);
     nas->probability = htons(os->probability);
-    nas->collector_set_id = ntohl(os->collector_set_id);
-    nas->obs_domain_id = ntohl(os->obs_domain_id);
+    nas->collector_set_id = htonl(os->collector_set_id);
+    nas->obs_domain_id = htonl(os->obs_domain_id);
     nas->obs_point_id = htonl(os->obs_point_id);
 }
 
I also noticed that the E-R diagram in ovs-vswitchd.conf.db(5) is now
ugly and unreadable, but we can fix that later.

I pushed this to master.  Thank you!
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to