From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mogw1029.ocn.ad.jp (mogw1029.ocn.ad.jp [153.149.231.35]) by dpdk.org (Postfix) with ESMTP id AF72A1B1D0 for ; Mon, 5 Feb 2018 03:38:55 +0100 (CET) Received: from mf-smf-ucb009.ocn.ad.jp (mf-smf-ucb009.ocn.ad.jp [153.149.227.69]) by mogw1029.ocn.ad.jp (Postfix) with ESMTP id 20EA2380239; Mon, 5 Feb 2018 11:38:54 +0900 (JST) Received: from mf-smf-ucb009.ocn.ad.jp (mf-smf-ucb009 [153.149.227.69]) by mf-smf-ucb009.ocn.ad.jp (Postfix) with ESMTP id 063971006DA; Mon, 5 Feb 2018 11:38:54 +0900 (JST) Received: from ntt.pod01.mv-mta-ucb024 (mv-mta-ucb024.ocn.ad.jp [153.149.142.98]) by mf-smf-ucb009.ocn.ad.jp (Switch-3.3.4/Switch-3.3.4) with ESMTP id w152cr1o048469; Mon, 5 Feb 2018 11:38:53 +0900 Received: from smtp.ocn.ne.jp ([153.149.227.134]) by ntt.pod01.mv-mta-ucb024 with id 6qet1x0012ud8JZ01qetvJ; Mon, 05 Feb 2018 02:38:53 +0000 Received: from localhost.localdomain (sp49-97-109-142.msc.spmode.ne.jp [49.97.109.142]) by smtp.ocn.ne.jp (Postfix) with ESMTPA; Mon, 5 Feb 2018 11:38:53 +0900 (JST) From: ogawa.yasufumi@lab.ntt.co.jp To: ferruh.yigit@intel.com, spp@dpdk.org, nakamura.hiroyuki@po.ntt-tx.co.jp Cc: Yasufumi Ogawa Date: Mon, 5 Feb 2018 11:38:57 +0900 Message-Id: <20180205023921.7775-4-ogawa.yasufumi@lab.ntt.co.jp> X-Mailer: git-send-email 2.13.1 In-Reply-To: <20180205023921.7775-1-ogawa.yasufumi@lab.ntt.co.jp> References: <20180205023921.7775-1-ogawa.yasufumi@lab.ntt.co.jp> Subject: [spp] [PATCH 04/28] docs: add spp_vf design section X-BeenThere: spp@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Soft Patch Panel List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Feb 2018 02:38:56 -0000 From: Yasufumi Ogawa Signed-off-by: Yasufumi Ogawa --- docs/guides/spp_vf/design.rst | 88 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 docs/guides/spp_vf/design.rst diff --git a/docs/guides/spp_vf/design.rst b/docs/guides/spp_vf/design.rst new file mode 100644 index 0000000..fffaeb4 --- /dev/null +++ b/docs/guides/spp_vf/design.rst @@ -0,0 +1,88 @@ +.. BSD LICENSE + Copyright(c) 2010-2014 Intel Corporation. All rights reserved. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +Design +====== + +Components +---------- + +``spp_vf`` supports three types of components, ``forwarder``, +``merger`` and ``classifier``. + +.. image:: images/spp_vf_overview.svg + :height: 550 em + :width: 550 em + +Forwarder +~~~~~~~~~ + +This component provides function for packet processing from one port +to one port. +Incoming packets from port are to be transferred to specific one port. +The direction of this transferring is specified by ``port`` command. +The concept of port is described later of this section. + +Merger +~~~~~~ + +This component provides packet forwarding function from multiple ports +to one port. +Incoming packets from multiple ports are to be transferred to one +specific port. +The flow of this merging process is specified by `port` command. + +Classifier +~~~~~~~~~~ + +This component provides packet forwarding function from one port to +one port. +Classifier has table of virtual MAC address(A). According to this table, +classifier lookups L2 destination MAC address and determines which port +to be transferred to incoming packets. +This component also supports vlan-tag(TPID:0x8100), and has the virtual +MAC tables for each VID(B). If the TPID of incoming packet equals +0x8100, +then lookup these tables(B) and determines which port to be transferred. +Otherwise, incoming packet is transferred according to table(A). + + +Ports +----- + +``spp_vf`` supports three types of PMDs, ``phy`` (Physical NIC), +``ring`` (Ring PMD) and ``vhost`` (vhsot PMD). +Using ``phy`` port, component can get incoming packets from outside host +and transfer the packet to specific physical NIC. +Using ``ring`` port, variety of combination of components can be +configured. +And through ``vhost`` port component can transfer packets from/to VMs. +``port`` can also control vlan tagging and untagging. -- 2.13.1