From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id D21F2A00C5 for ; Mon, 6 Jul 2020 13:32:04 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 42CAC1D97D; Mon, 6 Jul 2020 13:32:04 +0200 (CEST) Received: from mail-io1-f53.google.com (mail-io1-f53.google.com [209.85.166.53]) by dpdk.org (Postfix) with ESMTP id 9BDB11D972 for ; Mon, 6 Jul 2020 13:32:03 +0200 (CEST) Received: by mail-io1-f53.google.com with SMTP id k23so38864432iom.10 for ; Mon, 06 Jul 2020 04:32:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=/I61VR15BUdRud5sjmmvfA1cW62XGRLw+7uU79ijMyo=; b=KJoadqE7K92Yw9AS+MMf7fQpudnh40qSj0JmqMMCUAJ3LbDj+vjZ9tfZZ68EbtFwhz KOwhEdQKp9rNOKiBf5pjzeJ3isN8VaMmZ6YCV4nfY1OmIh84g2zaNTSGIs1Xewx8BXDf 2z9lfJxoxMJDrQYr8BmmVFEXdvyXLnHuNhNuajKTGkxlSWZpbnubnL5sXeboIsRPZ5JK 8L3/NGiDsG2PbXjxgTerc8bLzBsPTVSCiHBKOWSpt7kQvhcdSxhahgi/zhCugSJ3RdhH t4GnakxbHkRcm3389YZhvoHH7pCjYqINMXByq7BB8a94ZuBrzA5qG8Qja3ioCOyidgTh slTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=/I61VR15BUdRud5sjmmvfA1cW62XGRLw+7uU79ijMyo=; b=hBc9+nE8cha/yXMeG1Tnp2FQGB5J9VCiFF8igFlY2yzUcV6iHRi8YLiIHAlqpz9XBe k6zcOhp+vA9H0pdAQOELazZOHs2PMj8BmxRye39LeMegkGbWwLi/CF568CLJfkeajSYI xMpmg9NguZdb/CGeaUOhOHZoF5X7tzhTUzrNs1RoDtH+Ku1eqLcHVraYusCiGrGe/vuS n7ZCCodPG1BYmGRZvfbqkhtzoVjyJWueXGOhul0cw4bd1oPr5rT/gUJ512alDgJHDLkb tpEKyC99/bnogU2cha1bvgNHRRXOpWMvf9wgAIqCfmCtfMMatOQTIujAHfza3cYT9D3/ qIyw== X-Gm-Message-State: AOAM532iJFvCItwughTVQQuAc36HeFuJQldX7DGpkIEZ5d02uzpbkN7u 5IbMDsm2IGgiQxAC1/16GgvFpm6gAErqrtXmR6VKRAt6YQc= X-Google-Smtp-Source: ABdhPJydE3FdD0/DDtbbgUs64lX3mLzg+SA3YaxtXMndmgMeTdL+IPpl0NbnWD6NxpeY2+6wNoaXfdRFlTL1m7g4ue8= X-Received: by 2002:a5e:840b:: with SMTP id h11mr19886012ioj.106.1594035122838; Mon, 06 Jul 2020 04:32:02 -0700 (PDT) MIME-Version: 1.0 From: David Aldrich Date: Mon, 6 Jul 2020 12:31:52 +0100 Message-ID: To: users Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-users] HW offloaded calculation of UDP checksum not working X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org Sender: "users" Viewed 3 times 0 I am working with DPDK version 18.11.8 stable on Linux with an Intel X722 NIC. My app works fine if I calculate IP and UDP checksums in software but I get a segmentation fault if I calculate in hardware. Here is my code: local_port_conf.txmode.offloads = local_port_conf.txmode.offloads | DEV_TX_OFFLOAD_IPV4_CKSUM | DEV_TX_OFFLOAD_UDP_CKSUM; mb->ol_flags |= PKT_TX_IPV4 | PKT_TX_IP_CKSUM | PKT_TX_UDP_CKSUM; mb->l2_len = sizeof(struct ether_hdr); mb->l3_len = sizeof(struct ipv4_hdr); mb->l4_len = sizeof(struct udp_hdr); p_ip_hdr->hdr_checksum = 0; p_udp_hdr->dgram_cksum = rte_ipv4_phdr_cksum((const ipv4_hdr*)(mb->l3_len), mb->ol_flags); The rte_ipv4_phdr_cksum() call is mysterious, have I understood what to do correctly? Understandably, the C++ compiler gaves a warning: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] p_udp_hdr->dgram_cksum = rte_ipv4_phdr_cksum((const ipv4_hdr*)(ptMbuf->l3_len), ptMbuf->ol_flags); ^ What is wrong with my code?