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 1AAC2A0560 for ; Mon, 17 Oct 2022 17:01:13 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AB9144021D; Mon, 17 Oct 2022 17:01:12 +0200 (CEST) Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) by mails.dpdk.org (Postfix) with ESMTP id 683A840143 for ; Mon, 17 Oct 2022 17:01:11 +0200 (CEST) Received: by mail-pg1-f179.google.com with SMTP id h185so10660944pgc.10 for ; Mon, 17 Oct 2022 08:01:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=Zhi7CdUBUgJb6DNUMQrByKODeGf/7EMxdZnN1jLbB6Y=; b=VsE6uhRXDkkW+GIw2OPuLDyFXWMw1BYpiH48ZKHj2G4o6LfLtXKZIXrB3IyHREVz4Y CRB9LHQMiTodAIH0zk9So8eh7O96aAOcxtg1xF0QGUu7n4+Ivvp86RbkdJjHGiW5B+2r UhYs2oy9SgPXT6hggVBfZRHJAJgmlCBEB+FB/sJ2xTrrSJXS8HG/jvEeQNQsai2ZDPCc XgAsulwkVC8iB/5hGLnpl8wOjsfO9UP/hcv/af+pmSpp4bQAxRwyyViLPiVvViqMPPal JkthQDbCgHT14wVUctUnM55li5zbZXr8E945X2vubaf7QJ4nj03pV2rdkQ1MdDwGvT9N 5rUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Zhi7CdUBUgJb6DNUMQrByKODeGf/7EMxdZnN1jLbB6Y=; b=5Cve+TP0N3flCLOTaQyIUevzIZeoxgFINsjD8WAqVRI/hVduToqCT78t6f4o9EP8Oa GuPIBcsQTYSuR02kBjsi5X7fATu/Dse82zifzz1w83FrEkq+jQ06sYMmoEIj2l3eGfqo eY40JV05ngT2IhdCxJJ9N2grLKAHNYqcZtWlgQP8boZzxqR3NZoBpvywIsG7nRtfCjx8 MkebZjx0pfMM30OTa35402IhxsMjazMJPa1VpikHMyqWEEMHrn5FBwmaxLPCcRmA7ha3 Z/6aWXKmIDlYAeSkEwxRZ1kODYDF97as9acE66LHuYQcfWAeocybDj8lSgs9/xhujasY 4J+Q== X-Gm-Message-State: ACrzQf1TEK5eAacjjAMwRCZ8FjHLZ+MSTGlTZtKlDjZUMIN4j/Y+0xME 0S1jqbLky2HZTcpo1DD28eEwGzsLJhoTCA== X-Google-Smtp-Source: AMsMyM5QONUNN/sScRl3sq+LQy5Zfjp4qiWI7eXJ5QhY5Ex3Wgx8/e0hkXJ8cOlMim/cVAl++NMApA== X-Received: by 2002:a63:4a41:0:b0:452:bab5:156a with SMTP id j1-20020a634a41000000b00452bab5156amr11023838pgl.486.1666018870490; Mon, 17 Oct 2022 08:01:10 -0700 (PDT) Received: from hermes.local (204-195-120-218.wavecable.com. [204.195.120.218]) by smtp.gmail.com with ESMTPSA id y184-20020a6232c1000000b00562cfc80864sm7208812pfy.36.2022.10.17.08.01.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Oct 2022 08:01:10 -0700 (PDT) Date: Mon, 17 Oct 2022 08:01:05 -0700 From: Stephen Hemminger To: Sridhar Pothuganti Cc: "users@dpdk.org" Subject: Re: Facing an issue with eth RX/TX call backs Message-ID: <20221017080105.0186238a@hermes.local> In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit 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 On Mon, 17 Oct 2022 04:42:54 +0000 Sridhar Pothuganti wrote: > Hello All, > > I am trying to use the "dpdk-pdump" application to capture the packets. The pdump library is registering the RX/TX callbacks, but the callback pointer is getting NULL in the RX/TX function during packet transmission. > > The callbacks are set using the function "rte_eth_add_tx_callback" and the code is using GCC atomic built-in "__atomic_store_n" with memory order "__ATOMIC_RELEASE". > > In the "rte_eth_tx_burst" the same pointer is being read using "__atomic_load_n" with memory order "__ATOMIC_RELAXED". > > I have gone through the code, and the "pre_tx_burst_cbs" is not being cleared no where else except "rte_eth_remove_tx_callback". But this function is not being called till the termination of pdump application. > > Can someone please point me to where am I missing? > > Regards, > Sridhar > Are you using primary/secondary process model for pdump? Can you run your application under gdb? If so, check the callback after pdump sets it up. Then add memory watchpoint to see where it gets cleared.