On Thu 04 Aug 2022 at 10:24, Ilya Maximets <i.maxim...@ovn.org> wrote:
> On 8/4/22 09:52, Simon Horman wrote:
>> On Thu, Aug 04, 2022 at 09:33:15AM +0200, Ilya Maximets wrote:
>>> On 8/4/22 09:18, Simon Horman wrote:
>>>> On Wed, Aug 03, 2022 at 12:32:46PM +0200, Vlad Buslov wrote:
>>>>> Referenced commit changed policer action type from TC_ACT_UNSPEC 
>>>>> (continue)
>>>>> to TC_ACT_PIPE. However, since neither TC hardware offload layer nor mlx5
>>>>> driver at the time validated action type and always assumed 'continue', 
>>>>> the
>>>>> breakage wasn't caught until later validation code was added. The change
>>>>> also broke valid configuration when sending from offload-capable device to
>>>>> non-offload capable. For example, when sending from mlx5 VF to OvS bridge
>>>>> netdevice the traffic that passed matchall classifier with policer could 
>>>>> no
>>>>> longer match the following flower rule in software:
>>>>
>>>> ...
>>>>
>>>>> Notes:
>>>>>     Changes V2 -> V3:
>>>>>     
>>>>>     - Refactored the fix to set action TC_ACT_UNSPEC only for 
>>>>> matchall/basic
>>>>>     classifiers.
>>>>>     
>>>>>     Changes V1 -> V2:
>>>>>     
>>>>>     - Rebase on latest master.
>>>>
>>>> ...
>>>>
>>>> Hi Vlad,
>>>>
>>>> thanks for addressing our concerns. We have reviewed and tested this patch
>>>> and do not observe any problems for our use-cases: in particular mirred
>>>> after meter (police).
>>>>
>>>> Acked-by: Simon Horman <simon.hor...@corigine.com>
>>>>
>>>> I'd also be happy to apply this to the upstream tree
>>>> if there are no objections from others.
>>>
>>> No objections from my side.
>>>
>>> Regarding backports, AFAICT, we'll need that change down to 2.16, right?
>>> Can code from v1 be used on 2.17 and 2.16 or do we need a separate backport 
>>> patch?
>> 
>> I think that the complexity that v3 addresses arises from metering support
>> which allows other actions to follow a police action (meter).
>> 
>> So, assuming metering is not present in 2.17 and 2.16, and given that it
>> turns out that UNSPEC is fine for both PPS and BPS, then I suspect we
>> can go for a simple backport-patch which simply changes TC_ACT_PIPE
>> to TC_ACT_UNSPEC in nl_msg_act_police_end_nest().
>> 
>> This would need some testing, IMHO, and I may end up eating the words
>> above.
>
> If that works, sounds good to me.
>
> Vlad, could you also test this approach with 2.17 ?

Tested and sent the fix for 2.17 branch.

>
> I think, the best way forward will be to apply v3 to master and branch-3.0
> now.  Once the approach above for 2.17/2.16 is tested to work or some other
> solution is chosen, one of you could post the backport patch, so it can be
> reviewed/applied.
>
> What do you think?
>
> Best regards, Ilya Maximets.

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to