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 00B9043B43; Mon, 19 Feb 2024 01:46:47 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 86661402BC; Mon, 19 Feb 2024 01:46:47 +0100 (CET) Received: from fhigh7-smtp.messagingengine.com (fhigh7-smtp.messagingengine.com [103.168.172.158]) by mails.dpdk.org (Postfix) with ESMTP id B687A402B8 for ; Mon, 19 Feb 2024 01:46:45 +0100 (CET) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailfhigh.nyi.internal (Postfix) with ESMTP id 193AB1140091; Sun, 18 Feb 2024 19:46:45 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Sun, 18 Feb 2024 19:46:45 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm1; t=1708303605; x=1708390005; bh=kiUpYViaI/kAZ7xwb7+CLIBQE4+JivkVNO3WpL59rAg=; b= R4DBCUIJ8i6uHnYbU/ueBjVByGiBDcNMOMF0t8C33rfw2crjaejJCpSI0/2gsxV6 UCG9c2DxIia0fOwK5RwSEem73iwChZfmv+y9p27u0bH8qfeh+GYunb7HiYiec80E 644aL9t323MlGoJhNcsk1XvcyTeevkTDDNnRuV/xlahy+j57d8HGYgBl+uiPOz4L PgM2YdDRL+bXH2LX6oogQHWDJmfJxugXFuzYoVuY/RihoN2ikpeE6jKPIQGtrJxB ZNb7iqwxdUojYihMAFzWOxagMXNiWyVUEkN54cKC3rLa60sKLraKpKwm80Btqeou kIhLZ6duFo0QW+6XkfP0kQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1708303605; x= 1708390005; bh=kiUpYViaI/kAZ7xwb7+CLIBQE4+JivkVNO3WpL59rAg=; b=E Lv8GwZg9+9C+8WqUO7PTpprSkmzIswKw3mTkJgWycOzykAVfu0Q1LGLnczqgsaHL jcSk/taXt+pSxfLqNyuJIVJlE33IqJ0cidq4cvQ8ywQnjCGqlLhglTHl7Lkzoy40 zTNn4at4LdYEYfnhTzzO8IuD36MyudgzQqQt7v31VVRSEWdgrJO6KRVZdky/t+uZ Cv+JRSTQRFxm6PSM7rdv4GdfKDeJ3bk/tqf4OcxZXB7zTHKKeoDEKo00alyWt6hM 72R+WpvwMK6eFvYyC2slgKIW0lte5UxVTebBwbZYW++483xqZEAr2bv/A+bPQVCe dgCBabbFQm2sMSYD1dNbw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrvdejgddviecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvfevufffkfgjfhgggfgtsehtufertddttddvnecuhfhrohhmpefvhhhomhgr shcuofhonhhjrghlohhnuceothhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqnecugg ftrfgrthhtvghrnheptdejieeifeehtdffgfdvleetueeffeehueejgfeuteeftddtieek gfekudehtdfgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrh homhepthhhohhmrghssehmohhnjhgrlhhonhdrnhgvth X-ME-Proxy: Feedback-ID: i47234305:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 18 Feb 2024 19:46:44 -0500 (EST) From: Thomas Monjalon To: Cristian Dumitrescu Cc: dev@dpdk.org Subject: Re: [PATCH 0/3] pipeline: extend the IPv6 support Date: Mon, 19 Feb 2024 01:46:42 +0100 Message-ID: <29573046.gRfpFWEtPU@thomas> In-Reply-To: <20240213165737.1534180-1-cristian.dumitrescu@intel.com> References: <20240213165737.1534180-1-cristian.dumitrescu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" 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 13/02/2024 17:57, Cristian Dumitrescu: > So far, the pipeline supports the following operations on IPv6 addresses: > -using an IPv6 address as a table match field of exact/ternary/LPM match type > -assignment of IPv6 address to another IPv6 address > -conversion between an IPv4 address and an IPv6 address > > The reason for this limited support is the fact that CPUs have 64-bit registers, > so supporting operations on 128-bit variables requires additional logic. > > We are now adding support for the following operations involving IPv6 addresses: > -logic operations: AND, OR, XOR > -shift left/right > -equality/inequality tests > > The way we do this is by introducing a new instruction (called "movh") to read > and write the upper half of a 128-bit operand and optimizing the existing > instruction (called "mov"). This way, we can split an IPv6 address into its > upper half and lower half and use the existing 64-bit instructions to handle the > required operations. > > We are still not supporting the following operations on IPv6 addresses, as they > seem of very little practical use: addition, subtraction, multiplication and > division. > > Cristian Dumitrescu (3): > pipeline: add new instruction for upper half of IPv6 address > pipeline: optimize conversion between IPv4 and IPv6 addresses > examples/pipeline: add example for IPv6 address swap Applied, thanks.