From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zoltan Kiss Subject: ixgbe_recv_scattered_pkts_vec split_flags question Date: Tue, 21 Jul 2015 16:09:59 +0100 Message-ID: <55AE60C7.8050406@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit To: "dev@dpdk.org" 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) List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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