From patchwork Tue Oct 10 09:00:09 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Github ODP bot X-Patchwork-Id: 115365 Delivered-To: patch@linaro.org Received: by 10.80.163.170 with SMTP id s39csp3279730edb; Tue, 10 Oct 2017 02:02:43 -0700 (PDT) X-Google-Smtp-Source: AOwi7QBr2mBDCC4Y6U4Ay58192Yem2BEjNfu7vOQtdY8DxZW5/HJbqbKxju2Q1JEkOPb7kxMOGmS X-Received: by 10.107.3.147 with SMTP id e19mr14882274ioi.39.1507626163727; Tue, 10 Oct 2017 02:02:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1507626163; cv=none; d=google.com; s=arc-20160816; b=xQhEoFCshYuIGzZhIjEsp4bXwXPJTdyXST4JvrJ4EO9do6x9ifZoWpN04uCCce0vtC SWQce9Z0zuILrNzd/bRH9dsq+OvzpqBeqnizEy2WRDdoRK/QGSvfMD3zXrMivKmaLtqR bBTVtxMYzlNV/byisqMP+2UUooruR1yE2WCHYmJpe8GqyGfYgdMZ2gXmaezhj4nYroUw giKF2MN/93UTRxjNKl0FoD5JQNpbazXKBg3J5vC8NJHfPoY26tRYf9ac1HYQgYMjXMGa 1IlYJMVokDRN6wSnxR173xqsQZNOzmYG5NoFxv9wVmHqnnJZ7+zodUgreKv/cW4sUM3g /USQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject :content-transfer-encoding:mime-version:github-pr-num:references :in-reply-to:message-id:date:to:from:delivered-to :arc-authentication-results; bh=nudtBuYFvNPBg3IpdqkJKnLKx8Q3HBZFDHtlHxBgK9A=; b=JSZ5Rd+D0ntusfEOWreOUyeqScZ88RfDpQzokHXQl1VMHBn4T22nKEeQ9ZhQ/ygZzm TsHbhutLYME68/vxD/rTrbLzJryWO5ROkTv+SGBN5uVovMm/7Xn5PoaZ2KXN1JxIQ6z3 4MINGMO1OkiZ1vggR2HkOAQbXJ3Hd5Bqvf+6ovaAEqWmRmynDoP1n2i6U6pQuaW/l9Rd mrp4SbNfvOqTv5Aoiq3+DT2VI6eQD7+rO1rBUT+7oFtPzaFUnZBDuqcbVywqDdMw9Mtp szSUNqE9I3MHNZKPSvPeaw0ssBzWcH64RZqutTF7H7CYMthZBxytPDXAc0tItvcIm0f8 Laww== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id x13si8746780iti.107.2017.10.10.02.02.43; Tue, 10 Oct 2017 02:02:43 -0700 (PDT) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Received: by lists.linaro.org (Postfix, from userid 109) id 2C3E160CDC; Tue, 10 Oct 2017 09:02:43 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id E647060C2C; Tue, 10 Oct 2017 09:01:00 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 2642D60C03; Tue, 10 Oct 2017 09:00:48 +0000 (UTC) Received: from forward105o.mail.yandex.net (forward105o.mail.yandex.net [37.140.190.183]) by lists.linaro.org (Postfix) with ESMTPS id C5A3E609DB for ; Tue, 10 Oct 2017 09:00:40 +0000 (UTC) Received: from mxback14g.mail.yandex.net (mxback14g.mail.yandex.net [IPv6:2a02:6b8:0:1472:2741:0:8b7:93]) by forward105o.mail.yandex.net (Yandex) with ESMTP id 011924444117 for ; Tue, 10 Oct 2017 12:00:39 +0300 (MSK) Received: from smtp1o.mail.yandex.net (smtp1o.mail.yandex.net [2a02:6b8:0:1a2d::25]) by mxback14g.mail.yandex.net (nwsmtp/Yandex) with ESMTP id Pncji5cG5Q-0cvOXiAx; Tue, 10 Oct 2017 12:00:38 +0300 Received: by smtp1o.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id drzNSBeNeN-0cRqgK32; Tue, 10 Oct 2017 12:00:38 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (Client certificate not present) From: Github ODP bot To: lng-odp@lists.linaro.org Date: Tue, 10 Oct 2017 12:00:09 +0300 Message-Id: <1507626011-15870-2-git-send-email-odpbot@yandex.ru> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1507626011-15870-1-git-send-email-odpbot@yandex.ru> References: <1507626011-15870-1-git-send-email-odpbot@yandex.ru> Github-pr-num: 203 MIME-Version: 1.0 Subject: [lng-odp] [PATCH API-NEXT v5 1/3] api: packet_io: add MAC address set function X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" From: Bogdan Pricope Add support for setting default MAC address of a packet IO interface and for reporting availability of this operation. Signed-off-by: Bogdan Pricope --- /** Email created from pull request 203 (bogdanPricope:set_mac_pr) ** https://github.com/Linaro/odp/pull/203 ** Patch: https://github.com/Linaro/odp/pull/203.patch ** Base sha: bf803098eb1518dfb9e719071256fe22700b8c72 ** Merge commit sha: 9741b2bb193f1cb28f8dd4bf382bc598e1dbd5ef **/ include/odp/api/spec/packet_io.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/include/odp/api/spec/packet_io.h b/include/odp/api/spec/packet_io.h index b56a5205d..52af646a6 100644 --- a/include/odp/api/spec/packet_io.h +++ b/include/odp/api/spec/packet_io.h @@ -482,6 +482,8 @@ typedef union odp_pktio_set_op_t { struct { /** Promiscuous mode */ uint32_t promisc_mode : 1; + /** MAC address */ + uint32_t mac_addr : 1; } op; /** All bits of the bit field structure. * This field can be used to set/clear all flags, or bitwise @@ -979,6 +981,22 @@ int odp_pktio_promisc_mode(odp_pktio_t pktio); int odp_pktio_mac_addr(odp_pktio_t pktio, void *mac_addr, int size); /** + * Set the default MAC address of a packet IO interface. + * + * Support of this operation on a packet IO interface is reported + * through ‘mac_addr’ set operation capability. + * + * @param pktio Packet IO handle + * @param mac_addr MAC address to be set as default address + * @param size Size of the MAC address + * + * @return 0 on success + * @retval <0 on failure + */ +int odp_pktio_mac_addr_set(odp_pktio_t pktio, const void *mac_addr, + int size); + +/** * Setup per-port default class-of-service. * * @param[in] pktio Ingress port pktio handle. From patchwork Tue Oct 10 09:00:10 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Github ODP bot X-Patchwork-Id: 115366 Delivered-To: patch@linaro.org Received: by 10.80.163.170 with SMTP id s39csp3280501edb; Tue, 10 Oct 2017 02:03:29 -0700 (PDT) X-Google-Smtp-Source: AOwi7QAvznVQvMnFFfV6IMVp2hX+RNungNk/AJ7DOl2A7lNkVRl2DncFsD5j/FXy/Fo591viUpea X-Received: by 10.200.47.5 with SMTP id j5mr18931709qta.133.1507626209611; Tue, 10 Oct 2017 02:03:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1507626209; cv=none; d=google.com; s=arc-20160816; b=Axh9fQUjByDhF7Yuz6qHob0RUnPauYWgZvLkFsIyO1ALapQX51EvDXZaooNW6oq7Vg 4Kjg8iOrVWXPxd+C42KhxYxW9bPTfZZfZt+eGf52jdt1SZC8P/dFONd96/c6Con5yYaB eFiky3p73lLjB+hM1ammANm23CIlDYbpIpdoAqiRUma4biscD83eN64dzwdgVPwa03Zc bkYyVE8xJQs7Hw4nLzkyKjCXktmY0adaWKujK5FPUesq8si1a5qbWOighaYvlbW8pF9x swinhWdhvVR7DFeM6l9LqRU1zjnNPJbA4H0/qPfgoQipZP6IkS8nSMytpSZFDQoQArmv thdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:github-pr-num :references:in-reply-to:message-id:date:to:from:delivered-to :arc-authentication-results; bh=WTV1dLMmBajWePNkngziy3thaz26ryIB60sNfpIY4jo=; b=YyToZSFLl37H6zyRB/QtkHC9jjGLegbCpOGT0WZFIHE3KTw4QS9hnZkqJOhobJVMqC wOmRuRzdBK6BzbcNjdlF+NpVw+Vg1ZFO4uU72UzU6OH/OB10Jjwp5zU37Fd3jF9Z6bZj qMiwG8nSxVP8W6hYHLrD1pMcd90PcclyrSalpMBo9s+I5PTk0uqwzbaP/6ePfkE4wyJd Y0ZRrMyWHPzDoruV+0IaerCG5njgmaaLBJL+owBKmYN9n/oUGKYvaTSW+6Mv0GyMp+6I wUmJEsMWl9h/OUGqZXWMbzZb7z6LQ25MHOn+7xuivA2rqEa4fKdv53B05eHJltgmuSli WgNw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id g4si3770645qkf.99.2017.10.10.02.03.29; Tue, 10 Oct 2017 02:03:29 -0700 (PDT) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Received: by lists.linaro.org (Postfix, from userid 109) id 54C1B60C3C; Tue, 10 Oct 2017 09:03:29 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_LOW,URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id 4D26060C42; Tue, 10 Oct 2017 09:01:02 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id B888F60BFE; Tue, 10 Oct 2017 09:00:48 +0000 (UTC) Received: from forward101o.mail.yandex.net (forward101o.mail.yandex.net [37.140.190.181]) by lists.linaro.org (Postfix) with ESMTPS id 4E0EB60BF1 for ; Tue, 10 Oct 2017 09:00:41 +0000 (UTC) Received: from mxback9g.mail.yandex.net (mxback9g.mail.yandex.net [IPv6:2a02:6b8:0:1472:2741:0:8b7:170]) by forward101o.mail.yandex.net (Yandex) with ESMTP id AF8CC1342C20 for ; Tue, 10 Oct 2017 12:00:39 +0300 (MSK) Received: from smtp1o.mail.yandex.net (smtp1o.mail.yandex.net [2a02:6b8:0:1a2d::25]) by mxback9g.mail.yandex.net (nwsmtp/Yandex) with ESMTP id oJHXIqVjaR-0dDGU7uK; Tue, 10 Oct 2017 12:00:39 +0300 Received: by smtp1o.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id drzNSBeNeN-0dRGCBpc; Tue, 10 Oct 2017 12:00:39 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (Client certificate not present) From: Github ODP bot To: lng-odp@lists.linaro.org Date: Tue, 10 Oct 2017 12:00:10 +0300 Message-Id: <1507626011-15870-3-git-send-email-odpbot@yandex.ru> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1507626011-15870-1-git-send-email-odpbot@yandex.ru> References: <1507626011-15870-1-git-send-email-odpbot@yandex.ru> Github-pr-num: 203 Subject: [lng-odp] [PATCH API-NEXT v5 2/3] linux-gen: pktio: implement MAC address set function X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" From: Bogdan Pricope Add implement of MAC address set API. It calls packet IO specific MAC address set function. Signed-off-by: Bogdan Pricope --- /** Email created from pull request 203 (bogdanPricope:set_mac_pr) ** https://github.com/Linaro/odp/pull/203 ** Patch: https://github.com/Linaro/odp/pull/203.patch ** Base sha: bf803098eb1518dfb9e719071256fe22700b8c72 ** Merge commit sha: 9741b2bb193f1cb28f8dd4bf382bc598e1dbd5ef **/ .../linux-generic/include/odp_packet_io_internal.h | 1 + platform/linux-generic/odp_packet_io.c | 36 ++++++++++++++++++++++ platform/linux-generic/pktio/dpdk.c | 1 + platform/linux-generic/pktio/ipc.c | 1 + platform/linux-generic/pktio/loop.c | 1 + platform/linux-generic/pktio/netmap.c | 1 + platform/linux-generic/pktio/pcap.c | 1 + platform/linux-generic/pktio/socket.c | 1 + platform/linux-generic/pktio/socket_mmap.c | 1 + platform/linux-generic/pktio/tap.c | 1 + 10 files changed, 45 insertions(+) diff --git a/platform/linux-generic/include/odp_packet_io_internal.h b/platform/linux-generic/include/odp_packet_io_internal.h index 1a4e345f5..41a1be108 100644 --- a/platform/linux-generic/include/odp_packet_io_internal.h +++ b/platform/linux-generic/include/odp_packet_io_internal.h @@ -210,6 +210,7 @@ typedef struct pktio_if_ops { int (*promisc_mode_set)(pktio_entry_t *pktio_entry, int enable); int (*promisc_mode_get)(pktio_entry_t *pktio_entry); int (*mac_get)(pktio_entry_t *pktio_entry, void *mac_addr); + int (*mac_set)(pktio_entry_t *pktio_entry, const void *mac_addr); int (*link_status)(pktio_entry_t *pktio_entry); int (*capability)(pktio_entry_t *pktio_entry, odp_pktio_capability_t *capa); diff --git a/platform/linux-generic/odp_packet_io.c b/platform/linux-generic/odp_packet_io.c index 64ec1f670..f81eb792f 100644 --- a/platform/linux-generic/odp_packet_io.c +++ b/platform/linux-generic/odp_packet_io.c @@ -895,6 +895,42 @@ int odp_pktio_mac_addr(odp_pktio_t hdl, void *mac_addr, int addr_size) return ret; } +int odp_pktio_mac_addr_set(odp_pktio_t hdl, const void *mac_addr, int addr_size) +{ + pktio_entry_t *entry; + int ret = -1; + + if (addr_size < ETH_ALEN) { + /* Input buffer too small */ + return -1; + } + + entry = get_pktio_entry(hdl); + if (entry == NULL) { + ODP_DBG("pktio entry %d does not exist\n", hdl); + return -1; + } + + lock_entry(entry); + + if (odp_unlikely(is_free(entry))) { + unlock_entry(entry); + ODP_DBG("already freed pktio\n"); + return -1; + } + + if (entry->s.state == PKTIO_STATE_STARTED) { + unlock_entry(entry); + return -1; + } + + if (entry->s.ops->mac_set) + ret = entry->s.ops->mac_set(entry, mac_addr); + + unlock_entry(entry); + return ret; +} + int odp_pktio_link_status(odp_pktio_t hdl) { pktio_entry_t *entry; diff --git a/platform/linux-generic/pktio/dpdk.c b/platform/linux-generic/pktio/dpdk.c index 26ca0d6b4..45153af82 100644 --- a/platform/linux-generic/pktio/dpdk.c +++ b/platform/linux-generic/pktio/dpdk.c @@ -1542,6 +1542,7 @@ const pktio_if_ops_t dpdk_pktio_ops = { .promisc_mode_set = dpdk_promisc_mode_set, .promisc_mode_get = dpdk_promisc_mode_get, .mac_get = dpdk_mac_addr_get, + .mac_set = NULL, .capability = dpdk_capability, .pktin_ts_res = NULL, .pktin_ts_from_ns = NULL, diff --git a/platform/linux-generic/pktio/ipc.c b/platform/linux-generic/pktio/ipc.c index a7f346ae5..c8880ae93 100644 --- a/platform/linux-generic/pktio/ipc.c +++ b/platform/linux-generic/pktio/ipc.c @@ -790,6 +790,7 @@ const pktio_if_ops_t ipc_pktio_ops = { .promisc_mode_set = NULL, .promisc_mode_get = NULL, .mac_get = ipc_mac_addr_get, + .mac_set = NULL, .pktin_ts_res = NULL, .pktin_ts_from_ns = NULL, .config = NULL diff --git a/platform/linux-generic/pktio/loop.c b/platform/linux-generic/pktio/loop.c index 428b6cebd..eba6d3b03 100644 --- a/platform/linux-generic/pktio/loop.c +++ b/platform/linux-generic/pktio/loop.c @@ -265,6 +265,7 @@ const pktio_if_ops_t loopback_pktio_ops = { .promisc_mode_set = loopback_promisc_mode_set, .promisc_mode_get = loopback_promisc_mode_get, .mac_get = loopback_mac_addr_get, + .mac_set = NULL, .link_status = loopback_link_status, .capability = loopback_capability, .pktin_ts_res = NULL, diff --git a/platform/linux-generic/pktio/netmap.c b/platform/linux-generic/pktio/netmap.c index 4d771fcb4..9ee412f0a 100644 --- a/platform/linux-generic/pktio/netmap.c +++ b/platform/linux-generic/pktio/netmap.c @@ -962,6 +962,7 @@ const pktio_if_ops_t netmap_pktio_ops = { .promisc_mode_set = netmap_promisc_mode_set, .promisc_mode_get = netmap_promisc_mode_get, .mac_get = netmap_mac_addr_get, + .mac_set = NULL, .capability = netmap_capability, .pktin_ts_res = NULL, .pktin_ts_from_ns = NULL, diff --git a/platform/linux-generic/pktio/pcap.c b/platform/linux-generic/pktio/pcap.c index 783b85a9c..596bf6f28 100644 --- a/platform/linux-generic/pktio/pcap.c +++ b/platform/linux-generic/pktio/pcap.c @@ -440,6 +440,7 @@ const pktio_if_ops_t pcap_pktio_ops = { .promisc_mode_set = pcapif_promisc_mode_set, .promisc_mode_get = pcapif_promisc_mode_get, .mac_get = pcapif_mac_addr_get, + .mac_set = NULL, .capability = pcapif_capability, .pktin_ts_res = NULL, .pktin_ts_from_ns = NULL, diff --git a/platform/linux-generic/pktio/socket.c b/platform/linux-generic/pktio/socket.c index 5841e2448..0a80035f5 100644 --- a/platform/linux-generic/pktio/socket.c +++ b/platform/linux-generic/pktio/socket.c @@ -873,6 +873,7 @@ const pktio_if_ops_t sock_mmsg_pktio_ops = { .promisc_mode_set = sock_promisc_mode_set, .promisc_mode_get = sock_promisc_mode_get, .mac_get = sock_mac_addr_get, + .mac_set = NULL, .link_status = sock_link_status, .capability = sock_capability, .pktin_ts_res = NULL, diff --git a/platform/linux-generic/pktio/socket_mmap.c b/platform/linux-generic/pktio/socket_mmap.c index f71180238..67c5b2067 100644 --- a/platform/linux-generic/pktio/socket_mmap.c +++ b/platform/linux-generic/pktio/socket_mmap.c @@ -730,6 +730,7 @@ const pktio_if_ops_t sock_mmap_pktio_ops = { .promisc_mode_set = sock_mmap_promisc_mode_set, .promisc_mode_get = sock_mmap_promisc_mode_get, .mac_get = sock_mmap_mac_addr_get, + .mac_set = NULL, .link_status = sock_mmap_link_status, .capability = sock_mmap_capability, .pktin_ts_res = NULL, diff --git a/platform/linux-generic/pktio/tap.c b/platform/linux-generic/pktio/tap.c index 917db006e..ed4479445 100644 --- a/platform/linux-generic/pktio/tap.c +++ b/platform/linux-generic/pktio/tap.c @@ -391,6 +391,7 @@ const pktio_if_ops_t tap_pktio_ops = { .promisc_mode_set = tap_promisc_mode_set, .promisc_mode_get = tap_promisc_mode_get, .mac_get = tap_mac_addr_get, + .mac_set = NULL, .capability = tap_capability, .pktin_ts_res = NULL, .pktin_ts_from_ns = NULL, From patchwork Tue Oct 10 09:00:11 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Github ODP bot X-Patchwork-Id: 115364 Delivered-To: patch@linaro.org Received: by 10.80.163.170 with SMTP id s39csp3277930edb; Tue, 10 Oct 2017 02:00:56 -0700 (PDT) X-Google-Smtp-Source: AOwi7QDnfVW6Lc0qlMFVTN50RNeqcHKKnhPDpLeEHHgcMvoC6rJwFZP58rWwdmjqaOWtG7cpli/P X-Received: by 10.36.54.195 with SMTP id l186mr16549913itl.37.1507626055913; Tue, 10 Oct 2017 02:00:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1507626055; cv=none; d=google.com; s=arc-20160816; b=jQV2bsRjgUZLkiPjVWgxNhGc/y3eyGHloOvt9NR3Yr7zFl5U6T07fIdVIYIJG2EqWi mXBsdFk1iJRfCniQEgJWvcjqiBQcGbM+OS7hLIBp++YQJttAmbpsVBuFPwvmYiO2xIlx 6oWEzOUB7ZbjjZ5yUh9HhsICMFkGDeL40Oe5bnHKzpYU54Jsy/LwqMFpo5mB5AZaA3Vr pBTJVFggUUHtEDJW0evJIFA0lThRKrImIauHNMzAsX/gVMCMx+yfrlap8OFI0gaP/dxj itsmHoO1y+QyHzvai/1PgXlPcnUPd21+4VFR/wWK8aNJqJBQS/xI6EFgRZOhsKE0JcLy VjNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:github-pr-num :references:in-reply-to:message-id:date:to:from:delivered-to :arc-authentication-results; bh=Bj9u6fkjYs7GFi3bvdp3RIusmZzXWEcgIbyg4vyffXA=; b=w3RHiWh/l/sNKF8FoXwqV1SpKSkyCO/j2DCbROFkfX46EEKoomO7uoqc2tIMuTu6GK pO92Kt0/La1rpMW6Tjje03AXI8SO3uKx32k92Yuj4kz07yPMDbSnLto13+PLufqN/A+S mUmWHIgSkoBWLGJRhW56yb69/IAI9rhaTTjhRMqvBqIjj4fUMY7WN6CbWVHnJaQXDyFZ SnZGC6U+3mpQb9fLM+YqHjCiVrS28T4Q81ijwap1sctE3jFBI40Ulg0XCf+PK3OJNDWb 5iULQ6l6Ck0EQkcoEGPL8LM1hBpt+6AfaDodkou6xDI4qZxb8Lnb/zCf4d30TYc7Q2J+ 5EnA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id g141si6729969itg.13.2017.10.10.02.00.55; Tue, 10 Oct 2017 02:00:55 -0700 (PDT) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Received: by lists.linaro.org (Postfix, from userid 109) id EEC6560C1F; Tue, 10 Oct 2017 09:00:54 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id 36B90607A9; Tue, 10 Oct 2017 09:00:46 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 9BE3460BFB; Tue, 10 Oct 2017 09:00:43 +0000 (UTC) Received: from forward106j.mail.yandex.net (forward106j.mail.yandex.net [5.45.198.249]) by lists.linaro.org (Postfix) with ESMTPS id B591760BF6 for ; Tue, 10 Oct 2017 09:00:41 +0000 (UTC) Received: from mxback3o.mail.yandex.net (mxback3o.mail.yandex.net [IPv6:2a02:6b8:0:1a2d::1d]) by forward106j.mail.yandex.net (Yandex) with ESMTP id 6C001180189C for ; Tue, 10 Oct 2017 12:00:40 +0300 (MSK) Received: from smtp1o.mail.yandex.net (smtp1o.mail.yandex.net [2a02:6b8:0:1a2d::25]) by mxback3o.mail.yandex.net (nwsmtp/Yandex) with ESMTP id Xu5Y8mBC7G-0ewS3wA1; Tue, 10 Oct 2017 12:00:40 +0300 Received: by smtp1o.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id drzNSBeNeN-0dRm5GVm; Tue, 10 Oct 2017 12:00:39 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (Client certificate not present) From: Github ODP bot To: lng-odp@lists.linaro.org Date: Tue, 10 Oct 2017 12:00:11 +0300 Message-Id: <1507626011-15870-4-git-send-email-odpbot@yandex.ru> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1507626011-15870-1-git-send-email-odpbot@yandex.ru> References: <1507626011-15870-1-git-send-email-odpbot@yandex.ru> Github-pr-num: 203 Subject: [lng-odp] [PATCH API-NEXT v5 3/3] test: validation: pktio: validate MAC address set function X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" From: Bogdan Pricope Add validation tests for MAC address set API. Signed-off-by: Bogdan Pricope --- /** Email created from pull request 203 (bogdanPricope:set_mac_pr) ** https://github.com/Linaro/odp/pull/203 ** Patch: https://github.com/Linaro/odp/pull/203.patch ** Base sha: bf803098eb1518dfb9e719071256fe22700b8c72 ** Merge commit sha: 9741b2bb193f1cb28f8dd4bf382bc598e1dbd5ef **/ test/common_plat/validation/api/pktio/pktio.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/test/common_plat/validation/api/pktio/pktio.c b/test/common_plat/validation/api/pktio/pktio.c index 6a085729b..720707358 100644 --- a/test/common_plat/validation/api/pktio/pktio.c +++ b/test/common_plat/validation/api/pktio/pktio.c @@ -1065,9 +1065,12 @@ void pktio_test_promisc(void) void pktio_test_mac(void) { unsigned char mac_addr[ODP_PKTIO_MACADDR_MAXSIZE]; + unsigned char mac_addr_ref[ODP_PKTIO_MACADDR_MAXSIZE] = { + 0xA0, 0xB0, 0xC0, 0xD0, 0xE0, 0xF0}; int mac_len; int ret; odp_pktio_t pktio; + odp_pktio_capability_t capa; pktio = create_pktio(0, ODP_PKTIN_MODE_SCHED, ODP_PKTOUT_MODE_DIRECT); @@ -1088,6 +1091,26 @@ void pktio_test_mac(void) mac_len = odp_pktio_mac_addr(pktio, mac_addr, 2); CU_ASSERT(mac_len < 0); + CU_ASSERT_FATAL(odp_pktio_capability(pktio, &capa) == 0); + if (capa.set_op.op.mac_addr) { + /* Fail case: wrong addr_size. Expected <0. */ + ret = odp_pktio_mac_addr_set(pktio, mac_addr_ref, 2); + CU_ASSERT_FATAL(ret < 0); + + ret = odp_pktio_mac_addr_set(pktio, mac_addr_ref, + ODPH_ETHADDR_LEN); + CU_ASSERT_FATAL(ret == 0); + + mac_len = odp_pktio_mac_addr(pktio, mac_addr, + ODPH_ETHADDR_LEN); + CU_ASSERT(ODPH_ETHADDR_LEN == mac_len); + + CU_ASSERT(odp_memcmp(mac_addr_ref, mac_addr, + ODPH_ETHADDR_LEN) == 0); + } else + printf("\n mac address set not supported for %s!\n", + iface_name[0]); + ret = odp_pktio_close(pktio); CU_ASSERT(0 == ret); }