From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8171643747; Tue, 19 Dec 2023 18:43:49 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5D92C42EC7; Tue, 19 Dec 2023 18:41:46 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 2C0F042EAF for ; Tue, 19 Dec 2023 18:41:44 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id 3BJ9d537021347; Tue, 19 Dec 2023 09:41:43 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-type; s=pfpt0220; bh=tZHmM3EhZJdZuYWQ+O/lL rhitxA1WGvQfDQQCbhUh9A=; b=VSb3k3+R022mctlfY3ZOvd7WOzM5m19o0rfNn SQl+Jgt8SIFLBkeVP8+KgvLnwSv4381AoUSgPnZdppE05XmEZcEsdB8bQVuH1C3C iY6LjkQQlFkpVlm6jSJTtFkDRGpYHcQ4LoCq78qU7nYscbwoD7quvB5KciaBv1Kx RZ3PQxcBsSrk1gZEij2fxmGZKY1Vz2hybZYVu2qXribRjnyvfMlP0KM0WjbJCCzI Eclxr14Yxdn52rDzJQKrpIcEgCPyaAdxHXnHwHdTTi8t5RMUsmzt0lmIxZakwH11 Ryk/dW7O0ESI1IrgyI1cGVTAGuMPQiTz12+g3j3AnA0Igl25A== Received: from dc5-exch02.marvell.com ([199.233.59.182]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3v1c9kumjf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Tue, 19 Dec 2023 09:41:43 -0800 (PST) Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Tue, 19 Dec 2023 09:41:41 -0800 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.48 via Frontend Transport; Tue, 19 Dec 2023 09:41:41 -0800 Received: from localhost.localdomain (unknown [10.29.52.211]) by maili.marvell.com (Postfix) with ESMTP id 8FE733F708D; Tue, 19 Dec 2023 09:41:38 -0800 (PST) From: Harman Kalra To: Thomas Monjalon , Nithin Dabilpuram , Kiran Kumar K , "Sunil Kumar Kori" , Satha Rao , "Harman Kalra" CC: , Subject: [PATCH v2 24/24] doc: port representors in cnxk Date: Tue, 19 Dec 2023 23:10:03 +0530 Message-ID: <20231219174003.72901-25-hkalra@marvell.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20231219174003.72901-1-hkalra@marvell.com> References: <20230811163419.165790-1-hkalra@marvell.com> <20231219174003.72901-1-hkalra@marvell.com> MIME-Version: 1.0 Content-Type: text/plain X-Proofpoint-ORIG-GUID: 2X26JapTmnpM-BqQW3si9--L7bEYfHSv X-Proofpoint-GUID: 2X26JapTmnpM-BqQW3si9--L7bEYfHSv X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-12-09_02,2023-12-07_01,2023-05-22_02 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Updating the CNXK PMD documentation with the added support for port representors. Signed-off-by: Harman Kalra --- MAINTAINERS | 1 + doc/guides/nics/cnxk.rst | 58 ++++++++++++++++++++++++++++ doc/guides/nics/features/cnxk.ini | 3 ++ doc/guides/nics/features/cnxk_vf.ini | 4 ++ 4 files changed, 66 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 0d1c8126e3..2716178e18 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -827,6 +827,7 @@ M: Nithin Dabilpuram M: Kiran Kumar K M: Sunil Kumar Kori M: Satha Rao +M: Harman Kalra T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/common/cnxk/ F: drivers/net/cnxk/ diff --git a/doc/guides/nics/cnxk.rst b/doc/guides/nics/cnxk.rst index 9ec52e380f..5fd1f6513a 100644 --- a/doc/guides/nics/cnxk.rst +++ b/doc/guides/nics/cnxk.rst @@ -37,6 +37,9 @@ Features of the CNXK Ethdev PMD are: - Inline IPsec processing support - Ingress meter support - Queue based priority flow control support +- Port representors +- Represented port pattern matching and action +- Port representor pattern matching and action Prerequisites ------------- @@ -613,6 +616,57 @@ Runtime Config Options for inline device With the above configuration, driver would poll for aging flows every 50 seconds. +Port Representors +----------------- + +The CNXK driver supports port representor model by adding virtual ethernet +ports providing a logical representation in DPDK for physical function(PF) or +SR-IOV virtual function (VF) devices for control and monitoring. + +Base device or parent device underneath these representor ports is a eswitch +device which is not a cnxk ethernet device but has NIC RX and TX capabilities. +Each representor port is represented by a RQ and SQ pair of this eswitch +device. + +Current implementation supports representors for both physical function and +virtual function. + +These port representor ethdev instances can be spawned on an as needed basis +through configuration parameters passed to the driver of the underlying +base device using devargs ``-a ,representor=pf*vf*`` + +.. note:: + + Representor ports to be created for respective representees should be + defined via these representor devargs. + Eg. To create a representor for representee PF1VF0, devargs to be passed + is ``-a ,representor=pf0vf0`` + + For PF representor + ``-a ,representor=pf2`` + + For defining range of vfs, say 5 representor ports under a PF + ``-a ,representor=pf0vf[0-4]`` + + For representing different VFs under different PFs + ``-a ,representor=pf0vf[1,2],representor=pf1vf[2-5]`` + +In case of exception path (i.e. until the flow definition is offloaded to the +hardware), packets transmitted by the VFs shall be received by these +representor port, while packets transmitted by representor ports shall be +received by respective VFs. + +On receiving the VF traffic via these representor ports, applications holding +these representor ports can decide to offload the traffic flow into the HW. +Henceforth the matching traffic shall be directly steered to the respective +VFs without being received by the application. + +Current virtual representor port PMD supports following operations: + +- Get and clear VF statistics +- Set mac address +- Flow operations - create, validate, destroy, query, flush, dump + Debugging Options ----------------- @@ -627,3 +681,7 @@ Debugging Options +---+------------+-------------------------------------------------------+ | 2 | NPC | --log-level='pmd\.net.cnxk\.flow,8' | +---+------------+-------------------------------------------------------+ + | 3 | REP | --log-level='pmd\.net.cnxk\.rep,8' | + +---+------------+-------------------------------------------------------+ + | 4 | ESW | --log-level='pmd\.net.cnxk\.esw,8' | + +---+------------+-------------------------------------------------------+ diff --git a/doc/guides/nics/features/cnxk.ini b/doc/guides/nics/features/cnxk.ini index 94e7a6ab8d..88d5aaaa4e 100644 --- a/doc/guides/nics/features/cnxk.ini +++ b/doc/guides/nics/features/cnxk.ini @@ -73,6 +73,8 @@ mpls = Y nvgre = Y pppoes = Y raw = Y +represented_port = Y +port_representor = Y sctp = Y tcp = Y tx_queue = Y @@ -96,6 +98,7 @@ pf = Y port_id = Y queue = Y represented_port = Y +port_representor = Y rss = Y sample = Y security = Y diff --git a/doc/guides/nics/features/cnxk_vf.ini b/doc/guides/nics/features/cnxk_vf.ini index 53aa2a3d0c..7d7a1cad1b 100644 --- a/doc/guides/nics/features/cnxk_vf.ini +++ b/doc/guides/nics/features/cnxk_vf.ini @@ -64,6 +64,8 @@ mpls = Y nvgre = Y pppoes = Y raw = Y +represented_port = Y +port_representor = Y sctp = Y tcp = Y tx_queue = Y @@ -85,6 +87,8 @@ of_set_vlan_pcp = Y of_set_vlan_vid = Y pf = Y queue = Y +represented port = Y +port_representor = Y rss = Y security = Y skip_cman = Y -- 2.18.0