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

Reply via email to