From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf0-f50.google.com (mail-lf0-f50.google.com [209.85.215.50]) by dpdk.org (Postfix) with ESMTP id 1DFB710A3 for ; Sat, 14 Jul 2018 07:42:12 +0200 (CEST) Received: by mail-lf0-f50.google.com with SMTP id l16-v6so28752812lfc.13 for ; Fri, 13 Jul 2018 22:42:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=asu-edu.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=Mv/WvdiAxIFekno9nl34tW6Xiujy1uV7GAEUDsll5L0=; b=XW/UODuW8eCZx1AnhQewWmBtGqmONkjWh1XjiLxr1N4CRVlYykSX3rqE/vf3yhLbqH hSXYibYHZeiJUMxTNDcxTXbgfD9P9hFoIbr3TR6s9FPMoG1c0cVOKexW6yxcIAQ+4i2I 9EEfxHEp8BMzHdlAg/ZhIDucJeZ+DNiRK6/hDkhBOkZdWG2W6pbjUgCyCgQOWmQK7k8I bSPYNcFW3LDKdqxB51g5a1uuYmNvwIRGZ13osvxyQc3vz4oYb2RYzRNvAEGAykqX2XJV 3dx7bjRriy0oj6qcmNyDhuPw4IvyILaWaaOzuL9KAONV3/zgLU6ixNqScfy0yP+Km8VG E4rw== 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=Mv/WvdiAxIFekno9nl34tW6Xiujy1uV7GAEUDsll5L0=; b=isudG+vbCM36ti//oZRh7zVKB95sot42A0THnrZUnFSIf3zMbSN6sjWf8ChmK/xw0t HEyM4AP6DRSqohZjFIXRvXUcD9FKOmveOjPistjatQnNfaphigT7r3ORw4mJ/ZMQ7unQ XnFY5OsDdjmrh2115gV/mqCiEmNCceRNQ4GrNYtuT1KVFyiONraHHZCAIj+6JD/GD2aO 8IRPQLa0SZS4FnsK4KZkcYVNE3GBYXI4RueDk6J/Sv04M6QhcyeRbalWCYUFMELOz+EJ WjX40nyU8LcBBv6rfLpkEUmoN3ZrPQ63aaoRrwM0Q0x2WI0jdzQED5rqgvqcHyXPXx45 PDiQ== X-Gm-Message-State: AOUpUlGtvy6UTnMrx2mJQhqj2yXqxbVRzpEiA/8/1diG4OPHpHQcFW3w 0Mqs13YrKdVFAbF8Zxwfeq8cesDRDimANBl6L6uSC2mB X-Google-Smtp-Source: AAOMgpfbYR4P/8geNnnd0isHJQ27md1vmk//1n2O6T12LKTn0P25k00dpyq9K+cxFz8IsYS92xxwRQWF1CUtkDTVhdU= X-Received: by 2002:a19:eac1:: with SMTP id y62-v6mr7154846lfi.138.1531546931303; Fri, 13 Jul 2018 22:42:11 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a2e:5f96:0:0:0:0:0 with HTTP; Fri, 13 Jul 2018 22:41:31 -0700 (PDT) From: Sungho Hong Date: Fri, 13 Jul 2018 22:41:31 -0700 Message-ID: To: dev@dpdk.org Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-dev] Questions about locating the rte_mbuf payload X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Jul 2018 05:42:12 -0000 Hello I have sent the packet with the data "hellohellohello*" in a message struct using DPDK struct message{ data[PKT_SIZE] } I am sending this data from a client to server, and the server receives this data. the data received in the server can be viewed from the packet dump provided by DPDK. You can see the data I am sending "hello"s right at the bottom of the log 00000000: A0 36 9F 83 AB BC 00 1B 21 A6 D4 D4 08 00 45 00 | .6......!.....E. 00000010: 01 49 7C 60 00 00 80 11 C9 37 0A DA 6E 59 0A DA | .I|`.....7..nY.. 00000020: 6F FF 44 5C 44 5C 01 35 DF 27 7B 22 6E 61 6D 65 | o.D\D\.5.'{"name 00000030: 73 70 61 63 65 73 22 3A 20 5B 31 33 37 30 34 36 | spaces": [137046 00000040: 36 31 39 33 2C 20 32 39 33 31 32 37 36 38 39 36 | 6193, 2931276896 00000050: 2C 20 31 33 32 34 30 31 33 30 39 31 2C 20 31 33 | , 1324013091, 13 00000060: 35 32 37 38 34 34 35 32 2C 20 31 34 33 33 32 37 | 52784452, 143327 00000070: 32 31 36 36 2C 20 32 32 30 31 36 38 30 30 31 36 | 2166, 2201680016 00000080: 2C 20 31 33 35 39 38 30 30 32 37 30 2C 20 31 34 | , 1359800270, 14 00000090: 37 31 30 37 33 36 34 39 2C 20 31 39 37 34 38 36 | 71073649, 197486 000000A0: 31 33 39 32 2C 20 32 32 33 38 33 34 32 39 32 38 | 1392, 2238342928 000000B0: 2C 20 31 33 37 32 38 31 35 32 32 31 2C 20 33 30 | , 1372815221, 30 000000C0: 37 33 32 34 31 37 36 30 2C 20 37 36 32 35 31 36 | 73241760, 762516 000000D0: 39 35 35 2C 20 31 32 39 34 33 35 36 37 36 34 2C | 955, 1294356764, 000000E0: 20 31 35 32 30 34 39 31 39 39 35 5D 2C 20 22 64 | 1520491995], "d 000000F0: 69 73 70 6C 61 79 6E 61 6D 65 22 3A 20 22 22 2C | isplayname": "", 00000100: 20 22 76 65 72 73 69 6F 6E 22 3A 20 5B 32 2C 20 | "version": [2, 00000110: 30 5D 2C 20 22 68 6F 73 74 5F 69 6E 74 22 3A 20 | 0], "host_int": 00000120: 32 30 39 37 36 33 35 34 38 32 33 39 38 34 38 32 | 2097635482398482 00000130: 38 34 35 36 30 36 31 34 37 35 30 34 32 32 37 38 | 8456061475042278 00000140: 33 35 34 37 35 37 32 2C 20 22 70 6F 72 74 22 3A | 3547572, "port": 00000150: 20 31 37 35 30 30 7D 68 65 6C 6C 6F 68 65 6C 6C | 17500}hellohell 00000160: 6F 68 65 6C 6C 6F 68 65 6C 6C 6F 68 65 6C 6C 6F | ohellohellohello 00000170: 68 65 6C 6C 6F 68 65 6C 6C 6F 68 65 6C 6C 6F 00 | hellohellohello. The problem is I cannot locate the data offset by reading the rte_mbuf provided by dpdk. I need to extract the "hello"s using the correct method that is provided by DPDK, but I could not find a good way. I have tried the size headers and the buf_address pointers to locate the location of the struct message, but I have no idea how to pin point the exact address of the data-offset using DPDK structures. char *rtn = NULL; rtn = rte_pktmbuf_mtod(m, char *); // points to the start of the data struct ether_hdr *eth; eth = rte_pktmbuf_mtod(m, struct ether_hdr *); // rtn+=sizeof(eth); rtn = m->buf_addr; if(rtn!=NULL) { printf("length hdr: %ld\n", sizeof(struct ether_hdr)); printf("length eth: %ld\n", sizeof(eth)); printf("length m->buf_add: %ld\n", sizeof(m->buf_addr)); printf("length message: %ld\n", sizeof(struct message)); // 336 printf("rte_pktmbuf_mtod: %s\n", rtn); // lenght of the offset: 456 rte_pktmbuf_dump(stdout, m, 1024); } Would anyone familiar with DPDK, have a good answer for this? Best Sungho Hong