On 7/8/24 10:12, Adrián Moreno wrote: > On Thu, Jul 04, 2024 at 11:25:34AM GMT, Dumitru Ceara wrote: >> On 7/4/24 09:52, Adrian Moreno wrote: >>> When sample action gets used as a way of sampling traffic with >>> controller-generated metadata (i.e: obs_domain_id and obs_point_id), >>> the controller will have to increase the number of flows to ensure each >>> part of the pipeline contains the right metadata. >>> >>> As an example, if the controller decides to sample stateful traffic, it >>> could store the computed metadata for each connection in the conntrack >>> label. However, for established connections, a flow must be created for >>> each different ct_label value with a sample action that contains a >>> different hardcoded obs_domain and obs_point id. >>> >>> This patch adds a new version of the NXAST_RAW_SAMPLE* action (number 4) >>> that supports specifying the observation point and domain using an >>> OpenFlow field reference, so now the controller can express: >>> >>> sample(... >>> obs_domain_id=NXM_NX_CT_LABEL[0..31], >>> obs_point_id=NXM_NX_CT_LABEL[32..63] >>> ... >>> ) >>> >>> Signed-off-by: Adrian Moreno <[email protected]> >>> --- >> >> Hi Adrian, >> >> Thanks a lot for working on expanding the sampling support (in the >> kernel too). >> >> I didn't review the patch (or the rest of the series) yet but one thing >> we should definitely add to the non-RFC version is a way for controllers >> to detect that this new action version is supported. >> >> In other occasions we've used the OVSDB.Datapath.Capabilities column to >> report that new actions are supported (e.g., "ct_flush" for the >> extension that allows flushing CT with a generic match). It might make >> sense to add another capability there for this new action version. >> > > Yep. I've sent v1 but it does not contain this since I wanted to do a > quick respin removing the RFC now that the kernel part landed in > net-next. > > I'll include it in v2.
I didn't review the set yet, but while it can be argued that support for the ct flush is partially a datapath feature, the new OF action is definitely not, so it should not be exposed via datapath features. Controller can either probe the action by starting and cancelling a bundle and checking for particular error codes, or we should start reporting match/action extensions via OFPTFPT_EXPERIMENTER property of the table features. Best regards, Ilya Maximets. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
