From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-we0-f182.google.com (mail-we0-f182.google.com [74.125.82.182]) by dpdk.org (Postfix) with ESMTP id 103365A6F for ; Mon, 19 Jan 2015 18:18:00 +0100 (CET) Received: by mail-we0-f182.google.com with SMTP id l61so7386881wev.13 for ; Mon, 19 Jan 2015 09:17:59 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:organization :user-agent:in-reply-to:references:mime-version :content-transfer-encoding:content-type; bh=eOC1ZDUq5DsZtOuJh7DOmEggJwwb8oUKh00dXoJT0t4=; b=gh/r5c5k/Q/AQVpjzxNCVh5J1gZ+Al5+9t46Nklj1gK9uZLUZSdrdU4/0aOkqnkKTH ukuX78NC7OmCRkM6u8iGdxuvWBxJ5bwWDXO8BrPDeOAvAFXGTNNImIGJnaZBmg+Hq/A1 p5uRSpZ+dDqae32v4xxWsdPDd/cIQeh2Bka75iFvGI+aDav4EhgFw9wN0ayEdnJI/zkm EWKIHLCwZwL27BPw5GGqdCR6fVzJuFhtln4wxKBdxF5w432b8HGp3VkuIlV9X23Sq1Pp ThwkAWyk4XZMCVNGRtb5/n8mRnspQGTfowZK+aZrEG7dRQoWEz69i/U+pw7vJLpWyoXK lqXg== X-Gm-Message-State: ALoCoQng+x2y1wSyqoOIIHFFeV1boJHFILB+G9M/yj5p1vSyROOaBpal9GK4GWa0kU0aWuufCSvC X-Received: by 10.180.210.236 with SMTP id mx12mr37810283wic.16.1421687879492; Mon, 19 Jan 2015 09:17:59 -0800 (PST) Received: from xps13.localnet (136-92-190-109.dsl.ovh.fr. [109.190.92.136]) by mx.google.com with ESMTPSA id ez1sm18020803wjd.31.2015.01.19.09.17.58 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Jan 2015 09:17:58 -0800 (PST) From: Thomas Monjalon To: Konstantin Ananyev Date: Mon, 19 Jan 2015 18:17:35 +0100 Message-ID: <29033074.MP6L2bYt2c@xps13> Organization: 6WIND User-Agent: KMail/4.14.3 (Linux/3.17.6-1-ARCH; KDE/4.14.3; x86_64; ; ) In-Reply-To: <1421090181-17150-18-git-send-email-konstantin.ananyev@intel.com> References: <1421090181-17150-1-git-send-email-konstantin.ananyev@intel.com> <1421090181-17150-18-git-send-email-konstantin.ananyev@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH v2 17/17] libte_acl: remove unused macros. 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: Mon, 19 Jan 2015 17:18:00 -0000 2015-01-12 19:16, Konstantin Ananyev: > /* > + * ACL RT structure is a set of multibit tries (with stride == 8) > + * represented by an array of transitions. The next position is calculated > + * based on the current position and the input byte. > + * Each transition is 64 bit value with the following format: > + * | node_type_specific : 32 | node_type : 3 | node_addr : 29 | > + * For all node types except RTE_ACL_NODE_MATCH, node_addr is an index > + * to the start of the node in the transtions array. > + * Few different node types are used: > + * RTE_ACL_NODE_MATCH: > + * node_addr value is and index into an array that contains the return value > + * and its priority for each category. > + * Upper 32 bits of the transtion value are not used for that node type. > + * RTE_ACL_NODE_QRANGE: > + * that node consist of up to 5 transitions. > + * Upper 32 bits are interpreted as 4 signed character values which > + * are ordered from smallest(INT8_MIN) to largest (INT8_MAX). > + * These values define 5 ranges: > + * INT8_MIN <= range[0] <= ((int8_t *)&transition)[4] > + * ((int8_t *)&transition)[4] < range[1] <= ((int8_t *)&transition)[5] > + * ((int8_t *)&transition)[5] < range[2] <= ((int8_t *)&transition)[6] > + * ((int8_t *)&transition)[6] < range[3] <= ((int8_t *)&transition)[7] > + * ((int8_t *)&transition)[7] < range[4] <= INT8_MAX > + * So for input byte value within range[i] i-th transition within that node > + * will be used. > + * RTE_ACL_NODE_SINGLE: > + * always transitions to the same node regardless of the input value. > + * RTE_ACL_NODE_DFA: > + * that node consits of up to 256 transitions. > + * In attempt to conserve space all transitions are divided into 4 consecutive > + * groups, by 64 transitions per group: > + * group64[i] contains transitions[i * 64, .. i * 64 + 63]. > + * Upper 32 bits are interpreted as 4 unsigned character values one per group, > + * which contain index to the start of the given group within the node. > + * So to calculate transition index within the node for given input byte value: > + * input_byte - ((uint8_t *)&transition)[4 + input_byte / 64]. > + */ It's maybe an error. You were only supposed to remove some macros in this patch. -- Thomas