Eelco Chaudron <[email protected]> writes:

> On 5 Feb 2025, at 22:55, Paolo Valerio wrote:
>
>> Ales reported that ct_tp_{src,dst} matches are working only for the
>> first frag for the userspace datapath, whereas they are always working
>> for later frags in the case of kernel datapath.
>>
>> The ipf propagates the info in packets metadata, but
>> miniflow_extract() has no handling for them.
>>
>> Fix it by pushing the relevant fields in the miniflow.
>> tp_{src,dst} are not set for later frags, so fill them with padding as
>> ct_tp_{src,dst} are not aligned:
>>
>> struct flow {
>>     [...]
>>     ovs_be16                   tp_src;               /*   656     2 */
>>     ovs_be16                   tp_dst;               /*   658     2 */
>>     ovs_be16                   ct_tp_src;            /*   660     2 */
>>     ovs_be16                   ct_tp_dst;            /*   662     2 */
>>     [...]
>> }
>>
>> The patch also includes two tests to exercise the behavior.
>>
>> Reported-at: https://issues.redhat.com/browse/FDP-124
>> Fixes: 4ea96698f667 ("Userspace datapath: Add fragmentation handling.")
>> Signed-off-by: Paolo Valerio <[email protected]>
>
> Hi Paolo,
>
> I didn’t look at the actual code, but I just want to make sure you verified 
> your change with AVX512 enabled. I was triggered by miniflow extract :) I’ve 
> copied in Emma and Harry, who might be able to determine this just by looking 
> at the change.
>

Hi Eelco,

AFAICT, the change should be fine with regard to that as it only acts on
later fragments recirculated after a ct action.

I sent a v2 addressing Ilya's feedback:
https://patchwork.ozlabs.org/project/openvswitch/patch/[email protected]/


> Cheers,
>
> Eelco

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to