From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6994D43D00 for ; Thu, 21 Mar 2024 18:31:14 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 152CD42830; Thu, 21 Mar 2024 18:31:14 +0100 (CET) Received: from mail-qv1-f54.google.com (mail-qv1-f54.google.com [209.85.219.54]) by mails.dpdk.org (Postfix) with ESMTP id 19B24427E1 for ; Thu, 21 Mar 2024 18:31:11 +0100 (CET) Received: by mail-qv1-f54.google.com with SMTP id 6a1803df08f44-696147fb5a7so12380826d6.0 for ; Thu, 21 Mar 2024 10:31:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=domainhart-com.20230601.gappssmtp.com; s=20230601; t=1711042271; x=1711647071; darn=dpdk.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=TSB+xJN5hd7EWkEf78X9CfWe1LptVCvhUS4HgyJKR3A=; b=NYBTvlJOAOj1t1gnqlHQ+zW/c49ooGfB/P/j6vhq8gGMbb1ewrlwDgz7qT/tQCcR5N maHSlIgpaTGPtw28eF7l57yBFam6QgeC6juiMj5cwRejd1trmRqclI59sIQGxYZ6lbfE j/pBBHITLQ2GB6MTKv5GvGjvBsYy4YPsee73ZMiJHRG5Z/knX7rr1aU+W91tesmttRMT 8sZ78u9HXHVkneBg2nMfZlvrFrah3oTonGh8dVKuIHMoPz0EDV1vwC3npUauYR37UPTT D8FnBx2l8QZjeF8x9RYdAbESQYwCUK6R0NB53xnK1ay1oXTqJT1VhZCOFsAnrXSuV69+ EMbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711042271; x=1711647071; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=TSB+xJN5hd7EWkEf78X9CfWe1LptVCvhUS4HgyJKR3A=; b=Bwnm94rHMSILhQTo6jEpqmT5FpJA7okRum9/X7drhrCbVhZjjER8s/iCVBvjJZpA5b h7hT/lLUzLrFfOpvsdumDe7wy4eOJKNA8V0Cs6C9vj4eLXO6eDgSO1n52nvgMUGN2BUD uEvI8FdDBu0RZDXUc0udDtTkQ5WhbjX3/O9997oerHYX1EuvTHF3c7O55LAoCo6FlzU3 mZYgynG5A2C5uesXCGzF0/Bpu7OX4QO+mv92wTwpSLEPjIeNzxGDnXnvPd0JdMfmoLdv Rz0FQu4lLs1w5yTZvBXsFhu02H8h8h2qGN2zEig3Y+AAE7IGb4atbIAIOtCQ4HYU76gb 03Uw== X-Gm-Message-State: AOJu0YwiyeMJniCakLzoFmhXMR8wiurtREkLPXav7JuM2sJEwJzbAyaD ZkrRjPiPz8v3Fyf+4ZJrgwkRnRXqea+ZeM23cJGUooavVUSIHrhf+rHRAnGpG7Su/qZUabdmWAW wKXNrb6T6lggd/DTGp7fV29D9kLAVqV7dpQ8i8n6KjCuGFx1Gmrs= X-Google-Smtp-Source: AGHT+IFvltjMwtjNFOgdoPb76uj6ujP3oIbwvF1+5QsB6IRje5kSk8/TItpO+cbVXA+JwxHdRed9oyStef7nBmAy0QA= X-Received: by 2002:a05:6a21:27a9:b0:1a3:8b1e:209a with SMTP id rn41-20020a056a2127a900b001a38b1e209amr177322pzb.15.1711041834108; Thu, 21 Mar 2024 10:23:54 -0700 (PDT) MIME-Version: 1.0 From: Tony Hart Date: Thu, 21 Mar 2024 13:23:43 -0400 Message-ID: Subject: RTE_FLOW not matching UDP ports in head fragments? To: users@dpdk.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org Using RTE_FLOW (with the asynchronous API) to match UDP packets coming from a particular port and destination address. This is on a Nvidia/Mellanox CX6. This works great whilst the packets are not fragmented, however, when the packet is fragmented it does not match. I was expecting that it would still match the head fragment since it still contains the UDP header and hence the port (obviously I'm not expecting it to match the tail fragment). Is this intended behavior (looking at the rte_mbuf_ptype code it suggests that it is)? In the script below I see the count for the first entry in group 3 increment for the non-fragmented case but when the length of the (otherwise) same packet is one byte longer than the MTIU, the counter of the second group 3 entry is incremented instead. Thanks for any insights, Tony FYI this is using the v24.03-rc2 dpdk release. port stop all flow configure 0 queues_number 1 queues_size 64 counters_number 1000 port start all # PATTERN TEMPLATES flow pattern_template 0 create pattern_template_id 0 ingress template end flow pattern_template 0 create pattern_template_id 1 ingress template eth / ipv4 dst mask 0xffffffff / udp src mask 0xffff / end # ACTION TEMPLATES flow actions_template 0 create actions_template_id 0 template jump / end mask jump / end flow actions_template 0 create actions_template_id 1 template count / drop / end mask count / drop / end # TEMPLATE TABLES flow template_table 0 create table_id 0 group 0 priority 0 ingress rules_number 1 pattern_template 0 actions_template 0 flow template_table 0 create table_id 8 group 3 priority 1 ingress rules_number 100 pattern_template 1 actions_template 1 flow template_table 0 create table_id 9 group 3 priority 99 ingress rules_number 1 pattern_template 0 actions_template 1 # GROUP 0 flow queue 0 create 0 template_table 0 pattern_template 0 actions_template 0 postpone no pattern end actions jump group 3 / end # GROUP 3: flow queue 0 create 0 template_table 8 pattern_template 0 actions_template 0 postpone no pattern eth / ipv4 dst spec 2.2.3.1 / udp src spec 389 / end actions count / drop / end flow queue 0 create 0 template_table 9 pattern_template 0 actions_template 0 postpone no pattern end actions count / drop / end