From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wg0-f41.google.com (mail-wg0-f41.google.com [74.125.82.41]) by dpdk.org (Postfix) with ESMTP id 238005A41 for ; Tue, 21 Jul 2015 17:10:01 +0200 (CEST) Received: by wgav7 with SMTP id v7so93792326wga.2 for ; Tue, 21 Jul 2015 08:10:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :cc:subject:content-type:content-transfer-encoding; bh=K+M5cpfToAFvXusApbu5hwzvVh45HG0wGmmo9e4+Vsg=; b=QUvtTcud2Zjvfji7xPCz7BNDzsSbO2JrM8kZaHNkio7ro/iR/pIfOZRen77gNm04DC 4stjLn0WqIicwLy3Qmiq/o6PRDtRjtK29FtGTE2MpLNL1lk3sIiU5F03De4Tz76/LNUL daDpq6o74aXAp8k3whRzANxYo1Jb22eQaCuflrB2dUBOC4srUVHovqoQae9k3HOerzIe z31odkRCLvKByYPzC/ZpOViwGLmNS9LjSaGf+r97b64HiRyIAdSFQG+Ap7lSLK2TnyMP UpU/mhNS1HZFxQ24z0JZTwVO4Y4jVowai/w9/fcg6g6kATP04H2ovOW6oOLojoo9wnRo t3jA== X-Gm-Message-State: ALoCoQlT+ux+XTftZfXoFqda30uZotaCl5fQt0zG197eolmSUFFSsGqjmJHosCCfISeeH6Z5aTak X-Received: by 10.194.109.167 with SMTP id ht7mr65918626wjb.60.1437491400940; Tue, 21 Jul 2015 08:10:00 -0700 (PDT) Received: from [192.168.0.101] ([90.152.119.35]) by smtp.googlemail.com with ESMTPSA id q4sm37488050wja.24.2015.07.21.08.09.59 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 21 Jul 2015 08:10:00 -0700 (PDT) Message-ID: <55AE60C7.8050406@linaro.org> Date: Tue, 21 Jul 2015 16:09:59 +0100 From: Zoltan Kiss User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: "dev@dpdk.org" Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: [dpdk-dev] ixgbe_recv_scattered_pkts_vec split_flags question X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Jul 2015 15:10:01 -0000 Hi, I have a question regarding split_flags in this question. It's defined as an array of 1 byte unsigned ints: uint8_t split_flags[RTE_IXGBE_VPMD_RX_BURST] = {0}; RTE_IXGBE_VPMD_RX_BURST is 32, so it will be 32 bytes. Then we cast it into a pointer for 4 byte values, and check the first 4 elements of that array const uint32_t *split_fl32 = (uint32_t *)split_flags; if (rxq->pkt_first_seg == NULL && split_fl32[0] == 0 && split_fl32[1] == 0 && split_fl32[2] == 0 && split_fl32[3] == 0) So we only check the first half of this 32 byte array. But _recv_raw_pkts_vec() seems to use the whole array. Is this a bug or a feature? Or am I mistaken in the math somewhere? Regards, Zoltan Kiss