From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from proxy.6wind.com (host.76.145.23.62.rev.coltfrance.com [62.23.145.76]) by dpdk.org (Postfix) with ESMTP id C5E182BF7 for ; Fri, 1 Jul 2016 10:44:15 +0200 (CEST) Received: from glumotte.dev.6wind.com (unknown [10.16.0.195]) by proxy.6wind.com (Postfix) with ESMTP id A5FAA2A1D4; Fri, 1 Jul 2016 10:44:15 +0200 (CEST) From: Olivier Matz To: dev@dpdk.org, thomas.monjalon@6wind.com Cc: konstantin.ananyev@intel.com Date: Fri, 1 Jul 2016 10:43:52 +0200 Message-Id: <1467362632-1533-1-git-send-email-olivier.matz@6wind.com> X-Mailer: git-send-email 2.8.1 Subject: [dpdk-dev] [PATCH] ethdev: enhance api doc for getting supported packet types X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jul 2016 08:44:15 -0000 As discussed in http://dpdk.org/ml/archives/dev/2016-June/042229.html, clarify the behavior of rte_eth_dev_get_supported_ptypes(). Signed-off-by: Olivier Matz --- lib/librte_ether/rte_ethdev.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index ad2f264..bb3dc7a 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -2408,6 +2408,21 @@ void rte_eth_dev_info_get(uint8_t port_id, struct rte_eth_dev_info *dev_info); /** * Retrieve the supported packet types of an Ethernet device. * + * When a packet type is announced as supported, it *must* be recognized by + * the PMD. For instance, if RTE_PTYPE_L2_ETHER, RTE_PTYPE_L2_ETHER_VLAN + * and RTE_PTYPE_L3_IPV4 are announced, the PMD must return the following + * packet types for these packets: + * - Ether/IPv4 -> RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4 + * - Ether/Vlan/IPv4 -> RTE_PTYPE_L2_ETHER_VLAN | RTE_PTYPE_L3_IPV4 + * - Ether/ -> RTE_PTYPE_L2_ETHER + * - Ether/Vlan/ -> RTE_PTYPE_L2_ETHER_VLAN + * + * When a packet is received by a PMD, the most precise type must be + * returned among the ones supported. However a PMD is allowed to set + * packet type that is not in the supported list, at the condition that it + * is more precise. Therefore, a PMD announcing no supported packet types + * can still set a matching packet type in a received packet. + * * @note * Better to invoke this API after the device is already started or rx burst * function is decided, to obtain correct supported ptypes. -- 2.8.1