List patch comments

GET /api/patches/73455/comments/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Link: 
<https://patches.dpdk.org/api/patches/73455/comments/?format=api&page=1>; rel="first",
<https://patches.dpdk.org/api/patches/73455/comments/?format=api&page=1>; rel="last"
Vary: Accept
[ { "id": 115560, "web_url": "https://patches.dpdk.org/comment/115560/", "msgid": "<VI1PR04MB31685770B9E68ED28DA281FBE6670@VI1PR04MB3168.eurprd04.prod.outlook.com>", "list_archive_url": "https://inbox.dpdk.org/dev/VI1PR04MB31685770B9E68ED28DA281FBE6670@VI1PR04MB3168.eurprd04.prod.outlook.com", "date": "2020-07-08T18:49:33", "subject": "Re: [dpdk-dev] [PATCH v4 1/2] rte_flow: add eCPRI key fields to\n flow API", "submitter": { "id": 517, "url": "https://patches.dpdk.org/api/people/517/?format=api", "name": "Akhil Goyal", "email": "akhil.goyal@nxp.com" }, "content": "> +#ifdef __cplusplus\n> +extern \"C\" {\n> +#endif\n> +\n> +/**\n> + * eCPRI Protocol Revision 1.0, 1.1, 1.2, 2.0: 0001b\n> + * Other values are reserved for future\n> + */\n> +#define RTE_ECPRI_REV_UPTO_20\t\t1\n> +\n> +/**\n> + * eCPRI message types in specifications\n> + * IWF* types will only be supported from rev.2\n> + */\n> +#define RTE_ECPRI_MSG_TYPE_IQ_DATA\t0\n> +#define RTE_ECPRI_MSG_TYPE_BIT_SEQ\t1\n> +#define RTE_ECPRI_MSG_TYPE_RTC_CTRL\t2\n> +#define RTE_ECPRI_MSG_TYPE_GEN_DATA\t3\n> +#define RTE_ECPRI_MSG_TYPE_RM_ACC\t4\n> +#define RTE_ECPRI_MSG_TYPE_DLY_MSR\t5\n> +#define RTE_ECPRI_MSG_TYPE_RMT_RST\t6\n> +#define RTE_ECPRI_MSG_TYPE_EVT_IND\t7\n> +#define RTE_ECPRI_MSG_TYPE_IWF_UP\t8\n> +#define RTE_ECPRI_MSG_TYPE_IWF_OPT\t9\n> +#define RTE_ECPRI_MSG_TYPE_IWF_MAP\t10\n> +#define RTE_ECPRI_MSG_TYPE_IWF_DCTRL\t11\n\nShould we have a comment for reserved and vendor specific message types as well?\n\n> +\n> +/**\n> + * eCPRI Common Header\n> + */\n> +RTE_STD_C11\n> +struct rte_ecpri_common_hdr {\n> +#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN\n> +\tuint32_t size:16;\t\t/**< Payload Size */\n> +\tuint32_t type:8;\t\t/**< Message Type */\n> +\tuint32_t c:1;\t\t\t/**< Concatenation Indicator */\n> +\tuint32_t res:3;\t\t\t/**< Reserved */\n> +\tuint32_t revision:4;\t\t/**< Protocol Revision */\n> +#elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN\n> +\tuint32_t revision:4;\t\t/**< Protocol Revision */\n> +\tuint32_t res:3;\t\t\t/**< Reserved */\n> +\tuint32_t c:1;\t\t\t/**< Concatenation Indicator */\n> +\tuint32_t type:8;\t\t/**< Message Type */\n> +\tuint32_t size:16;\t\t/**< Payload Size */\n> +#endif\n> +} __rte_packed;\n> +\n> +/**\n> + * eCPRI Message Header of Type #0: IQ Data\n> + */\n> +struct rte_ecpri_msg_iq_data {\n> +\trte_be16_t pc_id;\t\t/**< Physical channel ID */\n> +\trte_be16_t seq_id;\t\t/**< Sequence ID */\n> +};\n> +\n> +/**\n> + * eCPRI Message Header of Type #1: Bit Sequence\n> + */\n> +struct rte_ecpri_msg_bit_seq {\n> +\trte_be16_t pc_id;\t\t/**< Physical channel ID */\n> +\trte_be16_t seq_id;\t\t/**< Sequence ID */\n> +};\n> +\n> +/**\n> + * eCPRI Message Header of Type #2: Real-Time Control Data\n> + */\n> +struct rte_ecpri_msg_rtc_ctrl {\n> +\trte_be16_t rtc_id;\t\t/**< Real-Time Control Data ID */\n> +\trte_be16_t seq_id;\t\t/**< Sequence ID */\n> +};\n> +\n> +/**\n> + * eCPRI Message Header of Type #3: Generic Data Transfer\n> + */\n> +struct rte_ecpri_msg_gen_data {\n> +\trte_be32_t pc_id;\t\t/**< Physical channel ID */\n> +\trte_be32_t seq_id;\t\t/**< Sequence ID */\n> +};\n> +\n> +/**\n> + * eCPRI Message Header of Type #4: Remote Memory Access\n> + */\n> +RTE_STD_C11\n> +struct rte_ecpri_msg_rm_access {\n> +#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN\n> +\tuint32_t ele_id:16;\t\t/**< Element ID */\n> +\tuint32_t rr:4;\t\t\t/**< Req/Resp */\n> +\tuint32_t rw:4;\t\t\t/**< Read/Write */\n> +\tuint32_t rma_id:8;\t\t/**< Remote Memory Access ID */\n> +#elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN\n> +\tuint32_t rma_id:8;\t\t/**< Remote Memory Access ID */\n> +\tuint32_t rw:4;\t\t\t/**< Read/Write */\n> +\tuint32_t rr:4;\t\t\t/**< Req/Resp */\n> +\tuint32_t ele_id:16;\t\t/**< Element ID */\n> +#endif\n> +\trte_be16_t addr_m;\t\t/**< 48-bits address (16 MSB) */\n> +\trte_be32_t addr_l;\t\t/**< 48-bits address (32 LSB) */\n> +\trte_be16_t length;\t\t/**< number of bytes */\n> +} __rte_packed;\n> +\n> +/**\n> + * eCPRI Message Header of Type #5: One-Way Delay Measurement\n> + */\n> +struct rte_ecpri_msg_delay_measure {\n> +\tuint8_t msr_id;\t\t\t/**< Measurement ID */\n> +\tuint8_t act_type;\t\t/**< Action Type */\n\nShould we also add timestamp and compensation fields as well here?\n\n> +};\n> +\n> +/**\n> + * eCPRI Message Header of Type #6: Remote Reset\n> + */\n> +struct rte_ecpri_msg_remote_reset {\n> +\tuint8_t msr_id;\t\t\t/**< Measurement ID */\n> +\tuint8_t act_type;\t\t/**< Action Type */\n> +};\n\nI think it is a copy paste error.\nIt should have uint16_t reset_id and uint8_t reset_code_op\n\n> +\n> +/**\n> + * eCPRI Message Header of Type #7: Event Indication\n> + */\n> +struct rte_ecpri_msg_event_ind {\n> +\tuint8_t evt_id;\t\t\t/**< Event ID */\n> +\tuint8_t evt_type;\t\t/**< Event Type */\n> +\tuint8_t seq;\t\t\t/**< Sequence Number */\n> +\tuint8_t number;\t\t\t/**< Number of Faults/Notif */\n> +};\nShould we also define enums for evt_type and other fields in this file.\n\n> +\n> +/**\n> + * eCPRI Message Header Format: Common Header + Message Types\n> + */\n> +RTE_STD_C11\n> +struct rte_ecpri_msg_hdr {\n> +\tunion {\n> +\t\tstruct rte_ecpri_common_hdr common;\n> +\t\tuint32_t dw0;\n> +\t};\n> +\tunion {\n> +\t\tstruct rte_ecpri_msg_iq_data type0;\n> +\t\tstruct rte_ecpri_msg_bit_seq type1;\n> +\t\tstruct rte_ecpri_msg_rtc_ctrl type2;\n> +\t\tstruct rte_ecpri_msg_bit_seq type3;\n> +\t\tstruct rte_ecpri_msg_rm_access type4;\n> +\t\tstruct rte_ecpri_msg_delay_measure type5;\n> +\t\tstruct rte_ecpri_msg_remote_reset type6;\n> +\t\tstruct rte_ecpri_msg_event_ind type7;\n> +\t\tuint32_t dummy[3];\n\nWhy 3 dummy? IWF messages are 4.\n\n> +\t};\n> +};\n> +\n> +#ifdef __cplusplus\n> +}\n> +#endif\n> +\n> +#endif /* _RTE_ECPRI_H_ */\n> diff --git a/lib/librte_net/rte_ether.h b/lib/librte_net/rte_ether.h\n> index 0ae4e75..184a3f9 100644\n> --- a/lib/librte_net/rte_ether.h\n> +++ b/lib/librte_net/rte_ether.h\n> @@ -304,6 +304,7 @@ struct rte_vlan_hdr {\n> #define RTE_ETHER_TYPE_LLDP 0x88CC /**< LLDP Protocol. */\n> #define RTE_ETHER_TYPE_MPLS 0x8847 /**< MPLS ethertype. */\n> #define RTE_ETHER_TYPE_MPLSM 0x8848 /**< MPLS multicast ethertype. */\n> +#define RTE_ETHER_TYPE_ECPRI 0xAEFE /**< eCPRI ethertype (.1Q supported).\n> */\n> \n> /**\n> * Extract VLAN tag information into mbuf\n> --\n> 1.8.3.1", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 32FE9A0526;\n\tWed, 8 Jul 2020 20:49:37 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 42FE81DCBC;\n\tWed, 8 Jul 2020 20:49:36 +0200 (CEST)", "from EUR05-VI1-obe.outbound.protection.outlook.com\n (mail-vi1eur05on2057.outbound.protection.outlook.com [40.107.21.57])\n by dpdk.org (Postfix) with ESMTP id 8CCCE1DC6E\n for <dev@dpdk.org>; Wed, 8 Jul 2020 20:49:35 +0200 (CEST)", "from VI1PR04MB3168.eurprd04.prod.outlook.com (2603:10a6:802:6::10)\n by VI1PR0402MB2752.eurprd04.prod.outlook.com (2603:10a6:800:b1::8) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.23; Wed, 8 Jul\n 2020 18:49:34 +0000", "from VI1PR04MB3168.eurprd04.prod.outlook.com\n ([fe80::b077:1fe4:d352:b464]) by VI1PR04MB3168.eurprd04.prod.outlook.com\n ([fe80::b077:1fe4:d352:b464%7]) with mapi id 15.20.3153.029; Wed, 8 Jul 2020\n 18:49:34 +0000" ], "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=MXErbGMmgwsFS8FeBIBNUFYbOWJ4Bzl2J7L3Kj0QpG6N+0lEPX14buIvZf0iGHa8qdg6IzM9midnlxOJJN3bXoIMmvIWoKR7or26XhfYqMuVI974s5C4aKEl1GLeUUnTfoqCSD5G+CXLcoYbaVlWBCvJ5TiXwggqwMNxzZy2MfpKGJGqb6W4qlnL02f5aYRwc4C17YkjJrj57PpO03H4NQ7l117wC24pKsAa/pEQ5ENGutV+SBsnz42YNhVW6ulV/CgMHaflxPe9tgc8jEuFBeOyU989+8qYz4Wx5JTBzrWvAQCJTaBHJC3gQ5UndjhF1KKmHSkBs8SzRkgrqs8/aA==", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=Bi8tYF10LlbIw2dJUERI42KHsKJIG1A/nouUPfN/STo=;\n b=O4rMFVaOm87rOepONEnmvN0RjJ0vrXF6Sa3vV0kRe1fiQaNjfBM2/t3HFdJ078BYCxu5cZg9l8Mo5RPOREdY/Vd7UgUwJDL7BJjHlSFA7ZEDUODHyG3Bl0jL6mPAtyfNXvYji80Flf7UA1fJ0U3K4Y2oloydLnmkUbXQ6ttulDpUOfgVEnbQG0caxBqXw2Y75xaPDt1MJnGwqUfA+FAu+1diOnbJvZlArafW+zV2u606Q8nndAqoFBYiqGSBCGwboFY6wkueAwg+88/yqe5aCC8H3zDLDygJHeyNNrncRJ+U4B5Dvl5fGENbBTytKL8L1cK3QYjChXgoZhT2/8RR4A==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass\n header.d=nxp.com; arc=none", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=Bi8tYF10LlbIw2dJUERI42KHsKJIG1A/nouUPfN/STo=;\n b=TxaK5HQ6rMu23T8c9J/xa6IaO6Qkke7glfWji6bnWeD+UNEWOkiWDzwA1XCtgjwPFKFug1GJZ318DEDaTkJ1TwqUTalovUyzBuvJjEwzC5B6EtVw3WRSptd4z9CKKItSzCidfH/kCeuOnm64R9C0H/11I0m5O5O61cZYPMpecWs=", "From": "Akhil Goyal <akhil.goyal@nxp.com>", "To": "Bing Zhao <bingz@mellanox.com>, \"orika@mellanox.com\" <orika@mellanox.com>,\n \"john.mcnamara@intel.com\" <john.mcnamara@intel.com>,\n \"marko.kovacevic@intel.com\" <marko.kovacevic@intel.com>,\n \"thomas@monjalon.net\" <thomas@monjalon.net>, \"ferruh.yigit@intel.com\"\n <ferruh.yigit@intel.com>, \"arybchenko@solarflare.com\"\n <arybchenko@solarflare.com>, \"olivier.matz@6wind.com\"\n <olivier.matz@6wind.com>", "CC": "\"dev@dpdk.org\" <dev@dpdk.org>, \"wenzhuo.lu@intel.com\"\n <wenzhuo.lu@intel.com>, \"beilei.xing@intel.com\" <beilei.xing@intel.com>,\n \"bernard.iremonger@intel.com\" <bernard.iremonger@intel.com>", "Thread-Topic": "[dpdk-dev] [PATCH v4 1/2] rte_flow: add eCPRI key fields to flow\n API", "Thread-Index": "AQHWVHSCWCgheFecQE2839vHcqP1Aaj+A3GQ", "Date": "Wed, 8 Jul 2020 18:49:33 +0000", "Message-ID": "\n <VI1PR04MB31685770B9E68ED28DA281FBE6670@VI1PR04MB3168.eurprd04.prod.outlook.com>", "References": "<1593694422-299952-1-git-send-email-bingz@mellanox.com>\n <1594136219-133336-1-git-send-email-bingz@mellanox.com>\n <1594136219-133336-2-git-send-email-bingz@mellanox.com>", "In-Reply-To": "<1594136219-133336-2-git-send-email-bingz@mellanox.com>", "Accept-Language": "en-IN, en-US", "Content-Language": "en-US", "X-MS-Has-Attach": "", "X-MS-TNEF-Correlator": "", "authentication-results": "mellanox.com; dkim=none (message not signed)\n header.d=none;mellanox.com; dmarc=none action=none header.from=nxp.com;", "x-originating-ip": "[45.118.167.90]", "x-ms-publictraffictype": "Email", "x-ms-office365-filtering-ht": "Tenant", "x-ms-office365-filtering-correlation-id": "959f3f1d-0310-4f33-243d-08d8236fa826", "x-ms-traffictypediagnostic": "VI1PR0402MB2752:", "x-microsoft-antispam-prvs": "\n <VI1PR0402MB27525FEB28A4D8C6B7114D49E6670@VI1PR0402MB2752.eurprd04.prod.outlook.com>", "x-ms-oob-tlc-oobclassifiers": "OLM:556;", "x-forefront-prvs": "04583CED1A", "x-ms-exchange-senderadcheck": "1", "x-microsoft-antispam": "BCL:0;", "x-microsoft-antispam-message-info": "\n H0HqYgjcG83sFMcvxi/KkEKuCPugJ+YNT2BNRqhCeQ7ub9+2Ycr5XoJSiDnLB/HtepFxAjHNblX+m09Sz1M9S0WW99n4og4nSB+bwIF8NWHLBQpvxA6Z9vOntDHn7QSdM//s71pMieljI+UN4ny0o7z1/7eBYn6fHv+KuQma91r2fMZuQC2mxQBsff0YnJ0chaDRb1fppcu2PfgXpChQxNwD20bWxwIhZPeznv9IHlIBcLERhxums02wR4UwUiafm6VVX3KQsP3eFKQYKdPg9MJxiD8GweMWserTeiKAWEZvTqD6jS8rBalBbUrEgEffZOxCwTY3klPWKky+neMoiQ==", "x-forefront-antispam-report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:VI1PR04MB3168.eurprd04.prod.outlook.com; PTR:; CAT:NONE;\n SFTY:;\n SFS:(4636009)(346002)(376002)(366004)(39860400002)(136003)(396003)(54906003)(7696005)(33656002)(110136005)(66946007)(9686003)(316002)(55016002)(4326008)(66476007)(76116006)(64756008)(66446008)(66556008)(186003)(7416002)(8936002)(8676002)(26005)(6506007)(478600001)(83380400001)(5660300002)(2906002)(71200400001)(52536014)(44832011)(86362001);\n DIR:OUT; SFP:1101;", "x-ms-exchange-antispam-messagedata": "\n LWLs5tfOmr0ZqI11Ezu2PTTiOpscVBYJVZaXkb7s9qQjYpcfS3SMbg4782YHKPKj4sqeLYRVa9SZzeqz+hzwLZsEeeHzL5ddkor5TMAESaiPtzGEHzX5lclmRAKUPfKp/RogxymddCQ2Zmk+jYzZNRfJZVsr0RPO2E0U+CvuWuOlGaQKr2kGGVbVhFxiuZ3scSDRm4RCMikic3ZmjmSCDFNDXWv29QKQbSV7tTStoVv26STC6s86WQbudegeBlWgNnqrDsqARvtR37KaBtv/qCAqw5+mdAKnoEIc0thGIS3qoa1OqQGUN9SVr41yfWNjSSt4q/JuM82tX/H0o2SDJz/C5lLMx9ULIm7ZkAxsZK7adQImj9Yx8xyc207veXT/UN8zhsq2T9b4dIOOpsdlATdb1IGV8naVSmMzsdKylGG68PRXcByUjzPjToApXOLWEASJzL7FfR6hUTJPv51ZHu6SsAHcPgVRuK/Uz/GgxQt3a73a45uiXzfq9w1Oa3Wf", "x-ms-exchange-transport-forked": "True", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "quoted-printable", "MIME-Version": "1.0", "X-OriginatorOrg": "nxp.com", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-AuthSource": "VI1PR04MB3168.eurprd04.prod.outlook.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 959f3f1d-0310-4f33-243d-08d8236fa826", "X-MS-Exchange-CrossTenant-originalarrivaltime": "08 Jul 2020 18:49:34.1289 (UTC)", "X-MS-Exchange-CrossTenant-fromentityheader": "Hosted", "X-MS-Exchange-CrossTenant-id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635", "X-MS-Exchange-CrossTenant-mailboxtype": "HOSTED", "X-MS-Exchange-CrossTenant-userprincipalname": "\n jKlZcbNWffMBj0MplDn3qN06sP1EfwRivNoeXHa2jeCG2UpM0g1G87pxeJqI0QAUecRD5TcMfwk0y1vF8c9G1Q==", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "VI1PR0402MB2752", "Subject": "Re: [dpdk-dev] [PATCH v4 1/2] rte_flow: add eCPRI key fields to\n flow API", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 115577, "web_url": "https://patches.dpdk.org/comment/115577/", "msgid": "<VI1PR05MB4192CCA6126C67BDE80BEFAADD640@VI1PR05MB4192.eurprd05.prod.outlook.com>", "list_archive_url": "https://inbox.dpdk.org/dev/VI1PR05MB4192CCA6126C67BDE80BEFAADD640@VI1PR05MB4192.eurprd05.prod.outlook.com", "date": "2020-07-09T03:58:16", "subject": "Re: [dpdk-dev] [PATCH v4 1/2] rte_flow: add eCPRI key fields to\n flow API", "submitter": { "id": 1357, "url": "https://patches.dpdk.org/api/people/1357/?format=api", "name": "Bing Zhao", "email": "bingz@mellanox.com" }, "content": "> -----Original Message-----\n> From: Akhil Goyal <akhil.goyal@nxp.com>\n> Sent: Thursday, July 9, 2020 2:50 AM\n> To: Bing Zhao <bingz@mellanox.com>; Ori Kam\n> <orika@mellanox.com>; john.mcnamara@intel.com;\n> marko.kovacevic@intel.com; Thomas Monjalon\n> <thomas@monjalon.net>; ferruh.yigit@intel.com;\n> arybchenko@solarflare.com; olivier.matz@6wind.com\n> Cc: dev@dpdk.org; wenzhuo.lu@intel.com; beilei.xing@intel.com;\n> bernard.iremonger@intel.com\n> Subject: RE: [dpdk-dev] [PATCH v4 1/2] rte_flow: add eCPRI key fields\n> to flow API\n> \n> \n> > +#ifdef __cplusplus\n> > +extern \"C\" {\n> > +#endif\n> > +\n> > +/**\n> > + * eCPRI Protocol Revision 1.0, 1.1, 1.2, 2.0: 0001b\n> > + * Other values are reserved for future */\n> > +#define RTE_ECPRI_REV_UPTO_20\t\t1\n> > +\n> > +/**\n> > + * eCPRI message types in specifications\n> > + * IWF* types will only be supported from rev.2 */\n> > +#define RTE_ECPRI_MSG_TYPE_IQ_DATA\t0\n> > +#define RTE_ECPRI_MSG_TYPE_BIT_SEQ\t1\n> > +#define RTE_ECPRI_MSG_TYPE_RTC_CTRL\t2\n> > +#define RTE_ECPRI_MSG_TYPE_GEN_DATA\t3\n> > +#define RTE_ECPRI_MSG_TYPE_RM_ACC\t4\n> > +#define RTE_ECPRI_MSG_TYPE_DLY_MSR\t5\n> > +#define RTE_ECPRI_MSG_TYPE_RMT_RST\t6\n> > +#define RTE_ECPRI_MSG_TYPE_EVT_IND\t7\n> > +#define RTE_ECPRI_MSG_TYPE_IWF_UP\t8\n> > +#define RTE_ECPRI_MSG_TYPE_IWF_OPT\t9\n> > +#define RTE_ECPRI_MSG_TYPE_IWF_MAP\t10\n> > +#define RTE_ECPRI_MSG_TYPE_IWF_DCTRL\t11\n> \n> Should we have a comment for reserved and vendor specific message\n> types as well?\n\nYes, thanks. We can have one line or two lines of comments to describe here.\n\n> \n> > +\n> > +/**\n> > + * eCPRI Common Header\n> > + */\n> > +RTE_STD_C11\n> > +struct rte_ecpri_common_hdr {\n> > +#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN\n> > +\tuint32_t size:16;\t\t/**< Payload Size */\n> > +\tuint32_t type:8;\t\t/**< Message Type */\n> > +\tuint32_t c:1;\t\t\t/**< Concatenation Indicator\n> */\n> > +\tuint32_t res:3;\t\t\t/**< Reserved */\n> > +\tuint32_t revision:4;\t\t/**< Protocol Revision */\n> > +#elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN\n> > +\tuint32_t revision:4;\t\t/**< Protocol Revision */\n> > +\tuint32_t res:3;\t\t\t/**< Reserved */\n> > +\tuint32_t c:1;\t\t\t/**< Concatenation Indicator\n> */\n> > +\tuint32_t type:8;\t\t/**< Message Type */\n> > +\tuint32_t size:16;\t\t/**< Payload Size */\n> > +#endif\n> > +} __rte_packed;\n> > +\n> > +/**\n> > + * eCPRI Message Header of Type #0: IQ Data */ struct\n> > +rte_ecpri_msg_iq_data {\n> > +\trte_be16_t pc_id;\t\t/**< Physical channel ID */\n> > +\trte_be16_t seq_id;\t\t/**< Sequence ID */\n> > +};\n> > +\n> > +/**\n> > + * eCPRI Message Header of Type #1: Bit Sequence */ struct\n> > +rte_ecpri_msg_bit_seq {\n> > +\trte_be16_t pc_id;\t\t/**< Physical channel ID */\n> > +\trte_be16_t seq_id;\t\t/**< Sequence ID */\n> > +};\n> > +\n> > +/**\n> > + * eCPRI Message Header of Type #2: Real-Time Control Data */\n> struct\n> > +rte_ecpri_msg_rtc_ctrl {\n> > +\trte_be16_t rtc_id;\t\t/**< Real-Time Control Data ID\n> */\n> > +\trte_be16_t seq_id;\t\t/**< Sequence ID */\n> > +};\n> > +\n> > +/**\n> > + * eCPRI Message Header of Type #3: Generic Data Transfer */\n> struct\n> > +rte_ecpri_msg_gen_data {\n> > +\trte_be32_t pc_id;\t\t/**< Physical channel ID */\n> > +\trte_be32_t seq_id;\t\t/**< Sequence ID */\n> > +};\n> > +\n> > +/**\n> > + * eCPRI Message Header of Type #4: Remote Memory Access */\n> > +RTE_STD_C11\n> > +struct rte_ecpri_msg_rm_access {\n> > +#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN\n> > +\tuint32_t ele_id:16;\t\t/**< Element ID */\n> > +\tuint32_t rr:4;\t\t\t/**< Req/Resp */\n> > +\tuint32_t rw:4;\t\t\t/**< Read/Write */\n> > +\tuint32_t rma_id:8;\t\t/**< Remote Memory Access\n> ID */\n> > +#elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN\n> > +\tuint32_t rma_id:8;\t\t/**< Remote Memory Access\n> ID */\n> > +\tuint32_t rw:4;\t\t\t/**< Read/Write */\n> > +\tuint32_t rr:4;\t\t\t/**< Req/Resp */\n> > +\tuint32_t ele_id:16;\t\t/**< Element ID */\n> > +#endif\n> > +\trte_be16_t addr_m;\t\t/**< 48-bits address (16 MSB)\n> */\n> > +\trte_be32_t addr_l;\t\t/**< 48-bits address (32 LSB)\n> */\n> > +\trte_be16_t length;\t\t/**< number of bytes */\n> > +} __rte_packed;\n> > +\n> > +/**\n> > + * eCPRI Message Header of Type #5: One-Way Delay\n> Measurement */\n> > +struct rte_ecpri_msg_delay_measure {\n> > +\tuint8_t msr_id;\t\t\t/**< Measurement ID */\n> > +\tuint8_t act_type;\t\t/**< Action Type */\n> \n> Should we also add timestamp and compensation fields as well here?\n\nOK, we can add it. I am not sure if there is a strong requirement for these fields.\nThis file is planned to define the headers of an eCPRI message. From the specification,\nonly the common header is named with \"header\". And the first bytes in the message\nbody will be recognized with different formats based on the type, as we know.\nRegarding some message types, the first several bytes could be considered as the\n\"sub header\" of the message, then followed by user data bytes. The length of the user\nspecific data is variable as well as the content.\nIn this case, we can that the timestamp and compensation are the user specific\ndata, and in each packet, it will have a different value.\n\n> \n> > +};\n> > +\n> > +/**\n> > + * eCPRI Message Header of Type #6: Remote Reset */ struct\n> > +rte_ecpri_msg_remote_reset {\n> > +\tuint8_t msr_id;\t\t\t/**< Measurement ID */\n> > +\tuint8_t act_type;\t\t/**< Action Type */\n> > +};\n> \n> I think it is a copy paste error.\n> It should have uint16_t reset_id and uint8_t reset_code_op\n\nNice catch, thanks a lot.\n\n> \n> > +\n> > +/**\n> > + * eCPRI Message Header of Type #7: Event Indication */ struct\n> > +rte_ecpri_msg_event_ind {\n> > +\tuint8_t evt_id;\t\t\t/**< Event ID */\n> > +\tuint8_t evt_type;\t\t/**< Event Type */\n> > +\tuint8_t seq;\t\t\t/**< Sequence Number */\n> > +\tuint8_t number;\t\t\t/**< Number of\n> Faults/Notif */\n> > +};\n> Should we also define enums for evt_type and other fields in this file.\n\nFor event indication type, we could. We can use #define instead of enum since this\nshould be fixed value and there is no change in the next releases of the spec.\nAlso, other fields are not exposed in the \"header\" now, so to my understanding, no\nneed to cover them at this stage.\n\n> \n> > +\n> > +/**\n> > + * eCPRI Message Header Format: Common Header + Message\n> Types */\n> > +RTE_STD_C11\n> > +struct rte_ecpri_msg_hdr {\n> > +\tunion {\n> > +\t\tstruct rte_ecpri_common_hdr common;\n> > +\t\tuint32_t dw0;\n> > +\t};\n> > +\tunion {\n> > +\t\tstruct rte_ecpri_msg_iq_data type0;\n> > +\t\tstruct rte_ecpri_msg_bit_seq type1;\n> > +\t\tstruct rte_ecpri_msg_rtc_ctrl type2;\n> > +\t\tstruct rte_ecpri_msg_bit_seq type3;\n> > +\t\tstruct rte_ecpri_msg_rm_access type4;\n> > +\t\tstruct rte_ecpri_msg_delay_measure type5;\n> > +\t\tstruct rte_ecpri_msg_remote_reset type6;\n> > +\t\tstruct rte_ecpri_msg_event_ind type7;\n> > +\t\tuint32_t dummy[3];\n> \n> Why 3 dummy? IWF messages are 4.\n\nThis is a union of the message payload body but not the \"place holders\" for\nIWF messages. IWF messages headers are a little bit complex and not defined\nin revision 1.x IIRC. This filed as well as the \"dw0\" is only SW level concept to\nsimplify the work in the driver and make compiler happy without any cost.\nSome critical flags of a compiler may complain when forcing casting the structure\nstarts from a bit-field to a u32. And when the DW 4 bytes needs to be dumped or\nchecked, and when doing endianness swap, this would be easier. Maybe this field\nshould have a better name 😊\n3 DWs for the payload sub header part is enough now. If we add the timestamp and\ncomp part, then we should enlarge this.\n\n> \n> > +\t};\n> > +};\n> > +\n> > +#ifdef __cplusplus\n> > +}\n> > +#endif\n> > +\n> > +#endif /* _RTE_ECPRI_H_ */\n> > diff --git a/lib/librte_net/rte_ether.h b/lib/librte_net/rte_ether.h\n> > index 0ae4e75..184a3f9 100644\n> > --- a/lib/librte_net/rte_ether.h\n> > +++ b/lib/librte_net/rte_ether.h\n> > @@ -304,6 +304,7 @@ struct rte_vlan_hdr { #define\n> RTE_ETHER_TYPE_LLDP\n> > 0x88CC /**< LLDP Protocol. */ #define RTE_ETHER_TYPE_MPLS\n> 0x8847 /**<\n> > MPLS ethertype. */ #define RTE_ETHER_TYPE_MPLSM 0x8848 /**<\n> MPLS\n> > multicast ethertype. */\n> > +#define RTE_ETHER_TYPE_ECPRI 0xAEFE /**< eCPRI ethertype (.1Q\n> supported).\n> > */\n> >\n> > /**\n> > * Extract VLAN tag information into mbuf\n> > --\n> > 1.8.3.1", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 988FAA0526;\n\tThu, 9 Jul 2020 05:58:20 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 0A1011DB8B;\n\tThu, 9 Jul 2020 05:58:20 +0200 (CEST)", "from EUR03-DB5-obe.outbound.protection.outlook.com\n (mail-eopbgr40043.outbound.protection.outlook.com [40.107.4.43])\n by dpdk.org (Postfix) with ESMTP id D7CF01D98B\n for <dev@dpdk.org>; Thu, 9 Jul 2020 05:58:18 +0200 (CEST)", "from VI1PR05MB4192.eurprd05.prod.outlook.com (2603:10a6:803:4e::18)\n by VI1PR05MB6670.eurprd05.prod.outlook.com (2603:10a6:800:141::15)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.21; Thu, 9 Jul\n 2020 03:58:17 +0000", "from VI1PR05MB4192.eurprd05.prod.outlook.com\n ([fe80::f53d:1b8c:d023:c5d0]) by VI1PR05MB4192.eurprd05.prod.outlook.com\n ([fe80::f53d:1b8c:d023:c5d0%7]) with mapi id 15.20.3174.022; Thu, 9 Jul 2020\n 03:58:16 +0000" ], "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=VFToyzH6dFZWm3JAG+Fzr8iPlqs/hglApTA4F8mb1nBqbrv0JoaQVGhi6JpzshFhE3rJbVSygpz+bOy4/uEaJ8fHD/0Qlrf5Yb8HVBxpfT55ibZ46K5SAJu4TEnawZeuTvsV29uTtpr5Dx36lr6rkjmAUZn2mdgiGlq0NRSFR6WPgdpd6Bbr7bLjQt7/GPTvtSpfi+IwuBhzdbqpRYhs0AFrk3ygpkcotA+o3e18V9DlAy3VUWMOO2bhxxx33har3dJIx8OV/aF1U6jthbIPvTjq+wNGmrp+doPa0k7yMRhiQBQBKXVxe76q5CwU37e/VBHbAHNhdcd5cM+eYEz73Q==", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=25WjJLDXfjPzjHsCgYwI0cvPbQSuEAFNUxqiEtlu5qw=;\n b=QJgBO1vCyhW36AOiQwuGHMS2Y0hkDu9ul46ixecoUzZKEAm+glFV2rmtWjL9jACVft3sAo5ZB4mqPkFSfEinyq0ckKuuUvzfU2Ar8bCUtOORSEdGHwWGOf2p3fAJqQstt4LUPg7NmY7PGuLHbtxM1ySYAnO3YZ682ZG4giQ+YgDQ47cN+PXQU+oyu12GCYSYw+oBwZ59fnO3dyOu8Z/Z0ZmBpQTdWMYT72/TLP6PoSJEFcTKTobSj5wcNXjHcARuvjKGevc32tn7SfMI4d7upxPcalV/vfXvO6nCcugNvAYAQA7FLyROMSPS48sKxo7HCwPj94DT8NZakcqf5BMIWA==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com;\n dkim=pass header.d=mellanox.com; arc=none", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com;\n s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=25WjJLDXfjPzjHsCgYwI0cvPbQSuEAFNUxqiEtlu5qw=;\n b=V3Rvc5zbZxK9rwFQh40IZA1QN1CnSwblv4/HRTxMZ40ktHBMVnw8xgHp69/KtivJFY4G1bYOWHHWLW2Z4B7SnGvGstrhz/8LIF+hwotnoIEk9LPdEEhYv93RN38oWBAwdFEiq39i/DEBAoSjjgMw/TSUkp60vAcBXfqZ44pQPH0=", "From": "Bing Zhao <bingz@mellanox.com>", "To": "Akhil Goyal <akhil.goyal@nxp.com>, Ori Kam <orika@mellanox.com>,\n \"john.mcnamara@intel.com\" <john.mcnamara@intel.com>,\n \"marko.kovacevic@intel.com\" <marko.kovacevic@intel.com>, Thomas Monjalon\n <thomas@monjalon.net>, \"ferruh.yigit@intel.com\" <ferruh.yigit@intel.com>,\n \"arybchenko@solarflare.com\" <arybchenko@solarflare.com>,\n \"olivier.matz@6wind.com\" <olivier.matz@6wind.com>", "CC": "\"dev@dpdk.org\" <dev@dpdk.org>, \"wenzhuo.lu@intel.com\"\n <wenzhuo.lu@intel.com>, \"beilei.xing@intel.com\" <beilei.xing@intel.com>,\n \"bernard.iremonger@intel.com\" <bernard.iremonger@intel.com>", "Thread-Topic": "[dpdk-dev] [PATCH v4 1/2] rte_flow: add eCPRI key fields to flow\n API", "Thread-Index": "AQHWVHSCTAlStvByjU6cKybmknBR/qj+CCCAgACLXWA=", "Date": "Thu, 9 Jul 2020 03:58:16 +0000", "Message-ID": "\n <VI1PR05MB4192CCA6126C67BDE80BEFAADD640@VI1PR05MB4192.eurprd05.prod.outlook.com>", "References": "<1593694422-299952-1-git-send-email-bingz@mellanox.com>\n <1594136219-133336-1-git-send-email-bingz@mellanox.com>\n <1594136219-133336-2-git-send-email-bingz@mellanox.com>\n <VI1PR04MB31685770B9E68ED28DA281FBE6670@VI1PR04MB3168.eurprd04.prod.outlook.com>", "In-Reply-To": "\n <VI1PR04MB31685770B9E68ED28DA281FBE6670@VI1PR04MB3168.eurprd04.prod.outlook.com>", "Accept-Language": "en-US", "Content-Language": "en-US", "X-MS-Has-Attach": "", "X-MS-TNEF-Correlator": "", "authentication-results": "nxp.com; dkim=none (message not signed)\n header.d=none;nxp.com; dmarc=none action=none header.from=mellanox.com;", "x-originating-ip": "[112.10.106.122]", "x-ms-publictraffictype": "Email", "x-ms-office365-filtering-ht": "Tenant", "x-ms-office365-filtering-correlation-id": "77ad7405-ab91-47bf-3bf4-08d823bc4fa5", "x-ms-traffictypediagnostic": "VI1PR05MB6670:", "x-ld-processed": "a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr", "x-ms-exchange-transport-forked": "True", "x-microsoft-antispam-prvs": "\n <VI1PR05MB66706DA8799A92219E94EA53DD640@VI1PR05MB6670.eurprd05.prod.outlook.com>", "x-ms-oob-tlc-oobclassifiers": "OLM:8273;", "x-ms-exchange-senderadcheck": "1", "x-microsoft-antispam": "BCL:0;", "x-microsoft-antispam-message-info": "\n dkOCZNQukeFQOoX/vykIElV8K0I/OcOv1R503uvCwe/s5tvY0BVf45b/IHVmiCamz/VEO8LDcyg1/6FvF6kbVpypu6yLECLZAarZ2BGevtaAyCJqYWuG37P88eP7sgj0wjVp6ZCVvMyzxZEy34veCT0wQRB4NEvWWUehG/3KqMRtSb1EJJ/6pOXUZgRo0jUSQmDxQRjfC6Vw4fFpU+JdSJm5TiGvoFCiQ6es6Dxyko9KUGhxBp42huclP3RXcOZiLyWCW5L867WUN+GZK1i2dYBQxwsDrTtQbPsQCvlYbBx5toCnmjc+DoIRJy4BitceHHA0m9FPRY1RxG4Lbj7Ncw==", "x-forefront-antispam-report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:VI1PR05MB4192.eurprd05.prod.outlook.com; PTR:; CAT:NONE;\n SFTY:;\n SFS:(4636009)(376002)(396003)(136003)(346002)(39860400002)(366004)(7696005)(54906003)(86362001)(66946007)(7416002)(8676002)(110136005)(8936002)(66476007)(5660300002)(55016002)(66556008)(76116006)(2906002)(66446008)(64756008)(4326008)(316002)(53546011)(6506007)(52536014)(83380400001)(186003)(33656002)(9686003)(26005)(478600001)(71200400001);\n DIR:OUT; SFP:1101;", "x-ms-exchange-antispam-messagedata": "\n U2goASzjn86AG/KbNJ8Apv1zXT7XhwH53PrIheAfuNtUbgUXnKe8qdiR/zCOHmeqLA7pncQuqxoq7pCaY2r9rBzHLxc7Vt63Y/D8LOH+GJoA3jgHmMzQu5rBhH3aWzRKjsicGJHLOaZpV24XhTLcFQcAC49yWWQlNnBebEEm/eoDrdB7qY9js0s0H5DEARF6Q2qRdJJZxz60/vq+/j+nAAI1Fd44Bcnpl/bMfuWZEVt83+3WytaI/ZnFwg+oVY0RYrpQoIgVacfP8IyQ953dJqzqJVpPl7UxMw+ia08K9CNAp87e5JKXqtHRI2HpqSRIMpmOcKsRXdqCc+zpnsm4jCANpCu0ZdpP2tfORuGm5xGUe3zlcZnGHw2h3TpT/KxQBmVZi+lPrs+9XtroeOz2pC16Fd6Wevx/YXIkicYvXqhJ4jl1omwWCn+Kkf64SuDq5NpKhnloecAQwYXfYadupYpuSBTyNDARcqTxW3gTPE121JWcvKyMuT7qEH4P/Kdx", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "base64", "MIME-Version": "1.0", "X-OriginatorOrg": "Mellanox.com", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-AuthSource": "VI1PR05MB4192.eurprd05.prod.outlook.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 77ad7405-ab91-47bf-3bf4-08d823bc4fa5", "X-MS-Exchange-CrossTenant-originalarrivaltime": "09 Jul 2020 03:58:16.7809 (UTC)", "X-MS-Exchange-CrossTenant-fromentityheader": "Hosted", "X-MS-Exchange-CrossTenant-id": "a652971c-7d2e-4d9b-a6a4-d149256f461b", "X-MS-Exchange-CrossTenant-mailboxtype": "HOSTED", "X-MS-Exchange-CrossTenant-userprincipalname": "\n WsXfekgWmM5UoZTjKHiBh3bPxACzB0n78/jh9BWvFU5Egr+xzBvYL9afJlBdJvLvtdYaRUaSdTtgmk27u5qUnQ==", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "VI1PR05MB6670", "Subject": "Re: [dpdk-dev] [PATCH v4 1/2] rte_flow: add eCPRI key fields to\n flow API", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null } ]