From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f174.google.com (mail-wr0-f174.google.com [209.85.128.174]) by dpdk.org (Postfix) with ESMTP id 5475F298F for ; Tue, 25 Apr 2017 10:30:34 +0200 (CEST) Received: by mail-wr0-f174.google.com with SMTP id z52so63057713wrc.2 for ; Tue, 25 Apr 2017 01:30:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:in-reply-to:references; bh=NZ2uLBbfogKiyZdfm1vX2iTWN9g5KT1QOFKE+X/L73k=; b=MxCNR3LY1YhuzQzTp/PRx4sbm516LnqZq3/AYLk2i+DSd/hlq5h+PM+Fk19FgcBVvR me/otGnJq3maG054ov1NBgnbZAaoV6kKUdWEd1c44bymjO7NX3R7PtnbTra+dxVkDZ6Q k9KafyukQpAK6V+8Uk9+iOAvDaWbxbSfF7kY1413aOV3JIRwa4Q3YmIZ/rdD3M6z7t3X v+MHKaFUYHZITKs/6DodS1Vd9mK/Ml34PBCnSGH/g9rxMEROQRKlpopmXzuS5691w0YB hxY6BVOjnhoa2D2AC4QRoIIkeDSbKHmE2nj+iYHE5hwWAG4qo6LaMyJat+7mZOwgo2+7 +9WA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=NZ2uLBbfogKiyZdfm1vX2iTWN9g5KT1QOFKE+X/L73k=; b=Xf66THjJd1L8r70S5cK8gAlp1Ar4vjAGs04oW7Z/clNocghBWnXvnh8GrLnPTC1058 rs6b5k8/smQKVByyKYPvU8pClABvMejIeMxfiA2fXauah2SiGwKUMbcIc+u/lIPPyB+u F9UpThR/kI/njHyvR1vQOWJJdawRIGQ4rc7GrS/txnyyzC6k6c0WHNzhns1vahCXs4SS g/WYDbPB+RR+0CVWO+uDYMSBwoN89cvg3XQZpQcITAoPdNDEQNcDnSpl5IDT9qJDpd13 GH0LXdE4aShcgnXw6lDJ+JkXPFYfvMknfmgDLs53c9DFSYP0uubLgaaoLlUEvwgcjJYg 1evg== X-Gm-Message-State: AN3rC/41fXB+OyA1NW/0Mo4R5/Pz6LE3ckLYxaRLTSX0BaNhpDLX3anw o/n42BMbXYzVK8Aybfo= X-Received: by 10.223.155.134 with SMTP id d6mr3194500wrc.157.1493109033613; Tue, 25 Apr 2017 01:30:33 -0700 (PDT) Received: from 6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id w96sm13693248wrc.14.2017.04.25.01.30.32 for (version=TLS1_2 cipher=AES128-SHA bits=128/128); Tue, 25 Apr 2017 01:30:32 -0700 (PDT) From: Adrien Mazarguil To: dev@dpdk.org Date: Tue, 25 Apr 2017 10:30:06 +0200 Message-Id: <384c50c8ea539fc02a133dbb9a0ec59e6036db54.1493108423.git.adrien.mazarguil@6wind.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: References: Subject: [dpdk-dev] [PATCH v2 12/13] ethdev: fix C++ errors in flow API (MPLS, GRE) 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: Tue, 25 Apr 2017 08:30:34 -0000 This commit addresses the following compilation errors: In file included from build/include/rte_flow_driver.h:50:0, from /tmp/check-includes.sh.1397.cc:1: build/include/rte_flow.h:631:1: error: C99 designator 'label_tc_s' outside aggregate initializer [...] build/include/rte_flow.h:631:1: error: initializer-string for array of chars is too long [-fpermissive] [...] build/include/rte_flow.h:650:1: sorry, unimplemented: non-trivial designated initializers not supported [...] C++ does not support the C99-style designated initializers used in this file for the default item masks. While the resulting symbols are primarily useful to PMDs (written in C), they are exposed as part of the public API for documentation purposes and to assist application writers. Considering that: - using pre-C99 initialization style for compatibility with C++ would render them difficult to understand (all struct members must be initialized) - using both initialization styles would be needlessly verbose - not exposing them at all would defeat their purpose - applications do not normally need these symbols at run time This commit hides these symbols from C++ applications. Specific C++ initializers will be added later if necessary. Fixes: 7cd048321d1d ("ethdev: add MPLS and GRE flow API items") Signed-off-by: Adrien Mazarguil Acked-by: Beilei Xing --- lib/librte_ether/rte_flow.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/librte_ether/rte_flow.h b/lib/librte_ether/rte_flow.h index bc7bc45..abd4c6a 100644 --- a/lib/librte_ether/rte_flow.h +++ b/lib/librte_ether/rte_flow.h @@ -652,9 +652,11 @@ struct rte_flow_item_mpls { }; /** Default mask for RTE_FLOW_ITEM_TYPE_MPLS. */ +#ifndef __cplusplus static const struct rte_flow_item_mpls rte_flow_item_mpls_mask = { .label_tc_s = "\xff\xff\xf0", }; +#endif /** * RTE_FLOW_ITEM_TYPE_GRE. @@ -671,9 +673,11 @@ struct rte_flow_item_gre { }; /** Default mask for RTE_FLOW_ITEM_TYPE_GRE. */ +#ifndef __cplusplus static const struct rte_flow_item_gre rte_flow_item_gre_mask = { .protocol = 0xffff, }; +#endif /** * Matching pattern item definition. -- 2.1.4