From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0070.outbound.protection.outlook.com [104.47.37.70]) by dpdk.org (Postfix) with ESMTP id EE7B17D35 for ; Sat, 27 May 2017 12:19:17 +0200 (CEST) Received: from BN6PR03CA0065.namprd03.prod.outlook.com (10.173.137.27) by BN3PR0301MB0899.namprd03.prod.outlook.com (10.160.156.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1124.9; Sat, 27 May 2017 10:19:16 +0000 Received: from BL2FFO11FD025.protection.gbl (2a01:111:f400:7c09::138) by BN6PR03CA0065.outlook.office365.com (2603:10b6:404:4c::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1124.9 via Frontend Transport; Sat, 27 May 2017 10:19:15 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BL2FFO11FD025.mail.protection.outlook.com (10.173.161.104) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1075.5 via Frontend Transport; Sat, 27 May 2017 10:19:15 +0000 Received: from Tophie.ap.freescale.net ([10.232.14.39]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id v4RAHYuM029968; Sat, 27 May 2017 03:19:13 -0700 From: Shreyansh Jain To: CC: , Date: Sat, 27 May 2017 15:55:32 +0530 Message-ID: <1495880735-1651-37-git-send-email-shreyansh.jain@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1495880735-1651-1-git-send-email-shreyansh.jain@nxp.com> References: <1495880735-1651-1-git-send-email-shreyansh.jain@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131403539556615276; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(39840400002)(39450400003)(39860400002)(39400400002)(39850400002)(39410400002)(39380400002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(9170700003)(48376002)(36756003)(86362001)(50466002)(54906002)(105606002)(5660300001)(77096006)(47776003)(33646002)(2351001)(2906002)(106466001)(68736007)(5003940100001)(305945005)(4326008)(498600001)(53936002)(85426001)(104016004)(8656002)(50226002)(8936002)(6666003)(2950100002)(76176999)(50986999)(6916009)(38730400002)(8676002)(189998001)(110136004)(356003)(81166006); DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR0301MB0899; H:az84smr01.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD025; 1:X7blEGo/SJreAin0C2VS7HVfbvALECyOA2E2dPUYBkV2HWW6+ZLPwL8uNnKE8gZJ92xXFhSCCV35KamqINIc8QoKURnl4s0rqiXcQVtM75xKblgzm3uJ9kU8wsLMT0BqEKIm1V0cPdLGQ4IkOOAnqbDaJi4DNT2xCyTvpTCn5KkmLmutkBtS2hfRqtUKZ4edxZujW5Z3q3ZYPEwsThQZ66W81S6UCacs+gr4NQLFzAGIp1nP5TtLtRmPpT+xvV8TtfDMm7CyPfaQjsgspzoTYv+PpVPFfQyPCM9CMe/ig/zNAXhy7SLS7fcjkQ4DK9covaI6+MNyFJG+4kpv+ZE3payH1MWIG83AKqW0NwgklWxx5x/MikCJkK2OzxjrioZhDqbvaGTx62QNJiaUPJZT+P0szLdMaAyeLUm8B8UQQeEwvp+nN7vgm/nj0Qt1hXQoRPq9OG9TmfrYlZMqrgNAXKPd8jhnWH77RRrNdl+v37dbNLyJ6RzBwHgKM7ignWDBShnmgvx4qV2klHxlR4kX2zRY7tS21fOn/eJ/XOQdNJ9YCsKoCrV72OqMNWfibZMrmlPzH5s4MWLTZbQ/HiQlQsg+Vy5pF/ljZAwCiiXncVXN03tAROj6cza1TjetFf36hUjHMU7Vvxo9IRZrWlg5nANw/jX3yhsZEZlnVgruo7fVoHR7ftvNPdvbwRy0JF4ozSJS+b6+hqC67ATJmJS81Q== MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PR0301MB0899: X-MS-Office365-Filtering-Correlation-Id: 9b5f83ac-ed3e-4bc5-d803-08d4a4e9d3e1 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131430075)(201703131517081); SRVR:BN3PR0301MB0899; X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB0899; 3:W+Ovmat5XlJvjmJLYZbQ+S3FbIuf3PXlHp8ySDvshhHK2fzBJxJtT+GhLPbjz5P2s+/Cmzo1MS7xGv3bqpe3O5l5R15lBEgKDDB4uSdOaw3+J0+nIVb5UPguuQJXmH0/4XjX3WOVzvkmZkyZN8WEgB7QRE2VFJvc5BZO7g7ok9FvxYDdcDavyZJc8pj2YX0m+jim0pjzm7xPmd6BfxsrjmE3r/bnc2pa2NJgGz2ghrQHsydbqNB9SXk3HbcJBMsAMHFKslJYJ9o/9UPs0pz8u/pdvd9hJ1vbkOjeaf4Wkllv2+IMqvo0gDtqcDb9TJpdHUZubIcuubsbV//yygTi7K15O020TyOgL7rT3geZ7IRXbvF91fCWfLJBQZaUZtDi/ytiEnCMR0MxJ0y8X145qGQUeFYzqrRCWxIjlPpnPJeTp851nwZJt31Kn/5g1m0Y; 25:U9CS64+o06jMRz6VAq5G8I+Ys4bPu+IcEeCR3znurlQF/a76d2yO97dG8FYMZMzzIwKsJBPN80bmEmClRF7FMPdQWLzssYG4c8jBzpXZQcYb9fz9spIsjY2TdwE9naizTQk3W42oWwNNBmMRRjcd5HR2LJfoaLEbTDHtUtxAhjnnIcFnjipzwSy/w9gTzfnzNd4afu/jsHqs19AIc4MlHAgmZuOBzWl53k6DhwVSGQmKjjqe1AMvKBY9pZ4N/ZY9S39exvJZ8l9JIcDNHi/KQ3jrwFD3MjNFDDHikMUVlokwBx524FsgYCCsEZvXujJ7wi7MnuiNSIJij461ejf5+dsmi6V2DCIZqRLLPkgg6AQrQxBBs4o9BNxZzHbkvxoer1gi7PbZHope79WbglQLvFNqq80MSQSHoKxj8z9F2c7OyXJ+BwTGM70mHIHLQaWcK48AhJ86c92LQyqvopNQtpY4cMwfLi8bSFyGsKTK6is= X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB0899; 31:97Iv48ipy/fbUdjFrzKZ8Lnd14fetrhlOlak4qEm530MpMsquNoGJAH6FDIqhQn4TzESZSpPVdyBjKwRR72Maav889HjtrTer4ZBOd1+4yLO/HF7OqS+fN81t7xG0z/522joer4oc9crdR20AXJv3qlUcIxzBpF8KzCDXcs1pC3/k4tjYCgJWJUqC8o79sHCi2RCFcMTQRDRzx7gIl+yc9sECTRk7mCNKHtmNibrVTf0PPWoU5drzrTsjbrUjYWwNeAxllOnjH36fnJuBZHA9w== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700073)(100105000095)(100000701073)(100105300095)(100000702073)(100105100095)(6095135)(601004)(2401047)(13016025)(8121501046)(5005006)(13018025)(93006095)(93001095)(10201501046)(3002001)(100000703073)(100105400095)(6055026)(6096035)(20161123565025)(20161123559100)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(20161123556025)(20161123563025)(20161123561025)(100000704073)(100105200095)(100000705073)(100105500095); SRVR:BN3PR0301MB0899; BCL:0; PCL:0; RULEID:(100000800073)(100110000095)(100000801073)(100110300095)(100000802073)(100110100095)(100000803073)(100110400095)(400006)(100000804073)(100110200095)(100000805073)(100110500095); SRVR:BN3PR0301MB0899; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR0301MB0899; 4:AdKLVIFE5dyok+TIcH6vLdHf6AkYgIkcAZjoYgp8?= =?us-ascii?Q?ClbBWMnJ1kaojsI1mmuqnuk/mmnUy/a+pf2OuyUiTWSZn+j27aD+Hz3UJseX?= =?us-ascii?Q?KWC1v1sJZEv0mMvT0N/wNCvYCSjxBM/i5Zl7NZTk8X7P+PeXdt5O2YE2Qubp?= =?us-ascii?Q?NlwPUl+ZLwf5gRCvC5TqI9pXJYHlHDfPA2+1zR1D1uzb3kqMgA0kmAiyRbnP?= =?us-ascii?Q?kdPaJHOIHqw0ZUl09A0/OTUbgtNlex+mVB5m3s+3v2miyYKbRKjyE/JosHhq?= =?us-ascii?Q?++hr3xykApy2JSwg5rllSrhhjKvH4bbxJJLu7wLj3zeJxknktjdy50hFfQWW?= =?us-ascii?Q?vFU0paO8YSnYiy6xWRY2cVG30qnaA20q8w3ngu7SVB1j7W9kaX3QQ9we85t1?= =?us-ascii?Q?KX9xumHHBqQ3H5zen8AhmXUpH8XgvvAU45N08GFifmIUO9WR6kw2xwK8ym1/?= =?us-ascii?Q?eO3DAUbraqoPaquEVo6wAlepGY+Jfyy4ys5FNsKc41EPWAzryq12OIxk1euE?= =?us-ascii?Q?4hUx0crosGffy+nRwu9sUyWvZcgZLUrSvatzr8agda8Hg9B16pGNop78/pbE?= =?us-ascii?Q?xkwUDy0bhW+Ol3Cy3e6kHA5+G4d2sO7Gs9Ife2E50r6y+JcCxaOrKQy3gw/z?= =?us-ascii?Q?Dky05uFLVMtsrn7WzhQITsYOp+EwUR1B5aAc9iRwzAOqsFzWanvOMVTLRfdg?= =?us-ascii?Q?jXgFQlPc9WLCSA0X/FFImE1T33+Ast1dUNXrmns5D5XJg5pzqs9bgkBWpp5T?= =?us-ascii?Q?ZYjCtCZoMOXlnd6GJBRNxUirV5vGQKzBPajnM0nKf5Ysm76gHhJDiFcETaH2?= =?us-ascii?Q?fJI6wKT1WbiXlTLDYtALKJGjtvjSprFxDExZlRstVQxkToP2vt20SQG7RRAx?= =?us-ascii?Q?Tl5MM1P8slXOJMWPbd4wFOHkX5y8VwcU6bMPu4PLeNopeyocA0pNsKd3ZpAz?= =?us-ascii?Q?st9yDnUiAaLigPCRrat/XcRgBO3JbCSTo24DylPFpQfDcEEVZBiXrr1MPphI?= =?us-ascii?Q?vZfMpIAI2XCMbgrOeAiYbSitLMg9d619J2SCOGEltSpqZa2ciuFWzDD1GpAB?= =?us-ascii?Q?N8p0BtX7kWhWcMvY/Nblqf2Rc8XUqFrYMwjYpmye8/xemzsm8Pi7bkN+5FWU?= =?us-ascii?Q?VtsdVF7mlWJv9ZLeGqHu5iOLxsQw24JN0Pufs2oMGognFyTwQ3W53d1onQ9W?= =?us-ascii?Q?12zj2YbJxxCWr8d1qGk7DLR1hTzbpzNO6I33BINPaEQZGsfa/0qY7wKh3mv7?= =?us-ascii?Q?M6nUKvUhMqd7GOWmIz6qODVMI/qn5PDYryTd6X51?= X-Forefront-PRVS: 0320B28BE1 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR0301MB0899; 23:PA6DhfAeIJId2kHMqJzbdrKN+xuo01OeCueHtms?= =?us-ascii?Q?gEKNOiXjhCCto4O2xIYXycke7PaA8mbWI3m3/363vSBmIZU6t+E3oQxrKs3f?= =?us-ascii?Q?IVDonbZdvFbhsQGBNb6Qde0QbIEW+1juLsmtNuzzZtWsyfjjjARnPvhZIYu0?= =?us-ascii?Q?Hx7fV8s8UUDmQ6Kib16oYFDxuh92UG++GwISYL/Cu2rCZJWu7TYT+C7PyJOr?= =?us-ascii?Q?/rx6dOSTCIOBsiEMGUkT46mxYnkMTpbN3zYOJxNYl5dlm8Ckbqpsn3YScslP?= =?us-ascii?Q?kuLwDdPuuzuEOxf6FFOsvqKqiPhONEuEYzndWBRdjldhvCPFU+/VS22YhPfM?= =?us-ascii?Q?lNNK1P6xNyf2eXh9cnq0Ft8Jc5nMKuC4m250yabxKvG2WzBloeKzPckiyAyH?= =?us-ascii?Q?Vg5hWrhGFnDj4Aq88rDsC+x70s3uw1ftNhSzlqJXIyvr2wYm6Wh/h8fRoweD?= =?us-ascii?Q?KfL3IP9B4Oud7ufEbJuHaOlP8tOdWUvxguMT5TyjDT8eF7N632wEAsKsZ4z9?= =?us-ascii?Q?fX/9eeipmwICOy46kzTspmAW0MKFiUbXRofoRcqQzWxkzlZhRnzXpAKZonTV?= =?us-ascii?Q?RMMd7MozWfCzpxN2pGqvtfMR5r2/PKFSWjkURoWfQQ0GsfAjqBCUYKwsIBMs?= =?us-ascii?Q?SkAj1VqGs5f/J74CYBCZclc9h2uRuUQAVE5v1Vn7Kgr8NkKq23VTaCtCU2bT?= =?us-ascii?Q?eOcfmcnTGMOFELnMHOs+DGzBbmPHXAP/XenJXA4lywIaaZh2W16Sn67ke6ON?= =?us-ascii?Q?CnmyQmiNwejjs/TRb8ae3YBxVFNJX3FdMjQNlqTjpFbe5esna/kXmicby6QL?= =?us-ascii?Q?qdkO9r5nmSH+SvMvgtCVDgMES4cXWtyUkwDEYiI5g8xbHBvUDPYnOFVfGoVa?= =?us-ascii?Q?UvyAYe4r2dWao4LTAcI2BLNZ/Y9pmyWX1fwZ9chjyhYWPs48AHZMM/0gcXVN?= =?us-ascii?Q?5OO6ZhOroiP7NdbnU/3oGbxIth2RfOvqhJYs3nyAclI0Yjczk2McJZ6srpDn?= =?us-ascii?Q?sAtSzeuz+0Gn0Uj2lmeW//zj5T+YTaqNolNj7RnlMqx8cw+ZJPDfYCmqsRVA?= =?us-ascii?Q?hie8rGTH8ooTsYARNNlk73XXtxpgdEN23Rdmcq6qsUpiEzXEvFKH4O9YxABq?= =?us-ascii?Q?8zaAyV/hz+EG90FqVnHAvrP0Lj8aNCqvHdNEvJO72OGOFBXRxEhkQ/UCLGfo?= =?us-ascii?Q?2DBENUUf4GdZCGEFnEObJNDgiGuGh6y1Mr6M1CRPxmiSKsvrLld2SlSaImoN?= =?us-ascii?Q?l8qRij+3MpTA/gbiI/Juv/ecujxs38vpfLukfahvV?= X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB0899; 6:F9SR7t2nRUREMpo7v9kUXideICDWpmKiToLe4zm527sdr59A6eFt3xoMEduEvZaTzqtWvm4q1VcelHgxS4M+skPW1xKbe6z1eaBoN+k4b4zBmQ81/JMkdJeMvBI5JgozK5Hl8rCgf0hY0Pe6HfYEzFTU6oSnWMIGmy044zW8r3Q5YDqh/Jp3tV1eS1LQ+9VypUNYKtLymaD2lxSZxAx7kvZ6WNslbgoGP3IIrUkIO5a3uD4c+T0/0+dqPgvSfwLtUEcJ51xBazYgn7cwuouFjwxQ6/q1nLNH9oa+nbPm+2eMejVLToC2T9sZGOGUDunkBgJq3p8pa2xzSN06LIEjdRoy7DYHrn5taoLe/Jpc65vSpuTgOOeEFqc0rkjzKD3rb5U8d/a4wVPPLIM/F8CoE7m9bkCewHdKmyLwLJpj/upBrlDFF+/YI8qQRkeTR5oBnKe98wGrfr8wCUj5AIgqjVjEtZ58wAGIkQBz7UX2JAyCM/eoF8h/wtbedqgu9kHa X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB0899; 5:7Av+cE/DjmdDJB6HXxGX8tDeVhIt5nIgzoX/Nh/XNhKtsfmRWLdQR5cXTsvIJUOqXoUKH7xIGzOERrcr+3DbvGdOg1j/a7kvjaQilUUBMiCNkiWljCGBaox8xv64ba0JRWXhxPHrI8k6uA4wYL9eQbtbRIQI0pTUQhc+ETuvgprvtKfEuKcdVya2Rmf1HtIYi2AlnnXaqunkZlOFRwAX63WfCbSdFNGMooEozF5hMGAG3MspEehhacFdXgdkEnLxvzWLI5ZwR3n6iOVcRns2POEiQcUwE9WyatING4yytEhX1d5D95YOQ/uQtbpfy/ZEH4kuymFKCqa3+LgoPhk41AWEXSSsInlf9G+uqoVlyzuxJkjCtsk6Q0mv4AeGtZpexfYKmD26gaXAL6egMVIseXswtFBva+rw0nc7xg9p4oHgOsRpGf3S52Sy3fFKeFwH4i+mSjU5CfS1oY2cRESY+17xz29F/1/RZ1q5lsG4qT/LJ8ajHOuCNYTuBJvGrSGODxEpn3nrGq9/Bg27QN3AtA==; 24:dkFGtHAIag4cU2eEBSgYbDN9jf6QNCCfOiU6qjomD0bE3a82S446ggFsH05YEFOIRus+w0K8yNAncW+zB2FHADlPhkwrb4CVJxgOLbgorfQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB0899; 7:CduV6j/hQy+Aw30//BUN4ScJfpEo3X0TGW9tPXg3WFbey4FsYWIIB6lHQgwHitJECsfpvz8l0kYeJZj4q8It3JWMSBtmZoC3XzlCAsZKM6U3lVa26ZrFsjxI/nYfL8BqLGKfNGXbknjjbKrnJ7Nb2RBur58YIQcpsSN5r7MOPlQJZCdFFE4uqCGmw1LQqdmEi/LwhouT+GCpcQU3/L17jpYqZ073VYj31cquviEm3BQxO3p5/lGkS3omQSTqRhLHgH0sHKXlEVRM0cDU/exIbLWEy5XgYlkgo1y/AAimKDEA35uSCgC8ys73PepN3ELnXSafkmT0Gv/ffozT0iaL6Q== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2017 10:19:15.3027 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0301MB0899 Subject: [dpdk-dev] [RFC Patch 36/39] net/dpaa: add support for packet type parsing 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, 27 May 2017 10:19:19 -0000 Signed-off-by: Hemant Agrawal Signed-off-by: Shreyansh Jain --- doc/guides/nics/features/dpaa.ini | 1 + drivers/net/dpaa/dpaa_ethdev.c | 22 ++++++++++++ drivers/net/dpaa/dpaa_rxtx.c | 75 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 98 insertions(+) diff --git a/doc/guides/nics/features/dpaa.ini b/doc/guides/nics/features/dpaa.ini index 916e5dc..4c81294 100644 --- a/doc/guides/nics/features/dpaa.ini +++ b/doc/guides/nics/features/dpaa.ini @@ -14,6 +14,7 @@ Unicast MAC filter = Y RSS hash = Y L3 checksum offload = Y L4 checksum offload = Y +Packet type parsing = Y Basic stats = Y ARMv8 = Y Usage doc = Y diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c index 856b229..8204ab7 100644 --- a/drivers/net/dpaa/dpaa_ethdev.c +++ b/drivers/net/dpaa/dpaa_ethdev.c @@ -112,6 +112,27 @@ dpaa_eth_dev_configure(struct rte_eth_dev *dev) return 0; } +static const uint32_t * +dpaa_supported_ptypes_get(struct rte_eth_dev *dev) +{ + static const uint32_t ptypes[] = { + /*todo -= add more types */ + RTE_PTYPE_L2_ETHER, + RTE_PTYPE_L3_IPV4, + RTE_PTYPE_L3_IPV4_EXT, + RTE_PTYPE_L3_IPV6, + RTE_PTYPE_L3_IPV6_EXT, + RTE_PTYPE_L4_TCP, + RTE_PTYPE_L4_UDP, + RTE_PTYPE_L4_SCTP + }; + + PMD_INIT_FUNC_TRACE(); + + if (dev->rx_pkt_burst == dpaa_eth_queue_rx) + return ptypes; + return NULL; +} static int dpaa_eth_dev_start(struct rte_eth_dev *dev) { @@ -394,6 +415,7 @@ static struct eth_dev_ops dpaa_devops = { .dev_stop = dpaa_eth_dev_stop, .dev_close = dpaa_eth_dev_close, .dev_infos_get = dpaa_eth_dev_info, + .dev_supported_ptypes_get = dpaa_supported_ptypes_get, .rx_queue_setup = dpaa_eth_rx_queue_setup, .tx_queue_setup = dpaa_eth_tx_queue_setup, diff --git a/drivers/net/dpaa/dpaa_rxtx.c b/drivers/net/dpaa/dpaa_rxtx.c index b1d39b6..7bb1077 100644 --- a/drivers/net/dpaa/dpaa_rxtx.c +++ b/drivers/net/dpaa/dpaa_rxtx.c @@ -85,6 +85,80 @@ (_fd)->bpid = _bpid; \ } while (0) + +static inline void dpaa_eth_packet_info(struct rte_mbuf *m, + uint64_t fd_virt_addr) +{ + struct annotations_t *annot = GET_ANNOTATIONS(fd_virt_addr); + uint64_t prs = *((uint64_t *)(&annot->parse)) & DPAA_PARSE_MASK; + + PMD_RX_LOG(DEBUG, " Parsing mbuf: %p with annotations: %p", m, annot); + + switch (prs) { + case DPAA_PKT_TYPE_NONE: + m->packet_type = 0; + break; + case DPAA_PKT_TYPE_ETHER: + m->packet_type = RTE_PTYPE_L2_ETHER; + break; + case DPAA_PKT_TYPE_IPV4: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV4; + break; + case DPAA_PKT_TYPE_IPV6: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV6; + break; + case DPAA_PKT_TYPE_IPV4_EXT: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV4_EXT; + break; + case DPAA_PKT_TYPE_IPV6_EXT: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV6_EXT; + break; + case DPAA_PKT_TYPE_IPV4_TCP: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_TCP; + break; + case DPAA_PKT_TYPE_IPV6_TCP: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_TCP; + break; + case DPAA_PKT_TYPE_IPV4_UDP: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_UDP; + break; + case DPAA_PKT_TYPE_IPV6_UDP: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_UDP; + break; + case DPAA_PKT_TYPE_IPV4_SCTP: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_SCTP; + break; + case DPAA_PKT_TYPE_IPV6_SCTP: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_SCTP; + break; + /* More switch cases can be added */ + default: + break; + } + + m->tx_offload = annot->parse.ip_off[0]; + m->tx_offload |= (annot->parse.l4_off - annot->parse.ip_off[0]) + << DPAA_PKT_L3_LEN_SHIFT; + + /* Set the hash values */ + m->hash.rss = (uint32_t)(rte_be_to_cpu_64(annot->hash)); + m->ol_flags = PKT_RX_RSS_HASH; + + /* Check if Vlan is present */ + if (prs & DPAA_PARSE_VLAN_MASK) + m->ol_flags |= PKT_RX_VLAN_PKT; +} + static inline void dpaa_checksum(struct rte_mbuf *mbuf) { struct ether_hdr *eth_hdr = rte_pktmbuf_mtod(mbuf, struct ether_hdr *); @@ -193,6 +267,7 @@ static inline struct rte_mbuf *dpaa_eth_fd_to_mbuf(struct qm_fd *fd, mbuf->ol_flags = 0; mbuf->next = NULL; rte_mbuf_refcnt_set(mbuf, 1); + dpaa_eth_packet_info(mbuf, (uint64_t)mbuf->buf_addr); return mbuf; } -- 2.7.4