From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 78D233237 for ; Mon, 18 Jan 2016 14:31:13 +0100 (CET) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP; 18 Jan 2016 05:30:58 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,312,1449561600"; d="scan'208";a="892991692" Received: from irsmsx101.ger.corp.intel.com ([163.33.3.153]) by orsmga002.jf.intel.com with ESMTP; 18 Jan 2016 05:30:57 -0800 Received: from irsmsx105.ger.corp.intel.com ([169.254.7.104]) by IRSMSX101.ger.corp.intel.com ([169.254.1.134]) with mapi id 14.03.0248.002; Mon, 18 Jan 2016 13:30:55 +0000 From: "Ananyev, Konstantin" To: Ravi Kerur , "dev@dpdk.org" Thread-Topic: [PATCH v1] Modify and modularize l3fwd code Thread-Index: AQHRPET4rmab04UVAE+iNVA8yxy92p7WEbKAgCtd1ZA= Date: Mon, 18 Jan 2016 13:30:55 +0000 Message-ID: <2601191342CEEE43887BDE71AB97725836AE69AD@irsmsx105.ger.corp.intel.com> References: <1450739511-5868-1-git-send-email-rkerur@gmail.com> <1450739573-5915-1-git-send-email-rkerur@gmail.com> In-Reply-To: <1450739573-5915-1-git-send-email-rkerur@gmail.com> Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [163.33.239.180] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v1] Modify and modularize l3fwd code 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, 18 Jan 2016 13:31:13 -0000 > From: Ravi Kerur [mailto:rkerur@gmail.com] > Sent: Monday, December 21, 2015 11:13 PM > To: dev@dpdk.org > Cc: Richardson, Bruce; Doherty, Declan; Ananyev, Konstantin; Ravi Kerur > Subject: [PATCH v1] Modify and modularize l3fwd code >=20 > v1: > > Rebase to latest code base for DPDK team review. >=20 > Intel team's (Konstantin, Bruce and Declan) review comments >=20 > v4<-v3: > > Fix code review comments from Konstantin > > Move buffer optimization code into l3fwd_lpm_sse.h > and l3fwd_em_sse.h for LPM and EM respectively > > Add compile time __SSE4_1__ for header file inclusion > > Tested with CONFIG_RTE_MACHINE=3Ddefault for non > __SSE4_1__ compilation and build > > Compiled for GCC 4.8.4 and 5.1 on Ubuntu 14.04 >=20 > v3<-v2: > > Fix code review comments from Bruce > > Fix multiple static definitions > > Move local #defines to C files, common #defines > to H file. > > Rename ipv4_l3fwd_route to ipv4_l3fwd_lpm and ipv4_l3fwd_em > > Rename ipv6_l3fwd_route to ipv6_l3fwd_lpm and ipv6_l3fwd_lpm > > Pass additional parameter to send_single_packet > > Compiled for GCC 4.8.4 and 5.1 on Ubuntu 14.04 >=20 > v2<-v1: > > Fix errors in GCC 5.1 > > Restore "static inline" functions, rearrange > functions to take "static inline" into account > > Duplicate main_loop for LPM and EM >=20 > v1: > > Split main.c into following 3 files > > main.c, (parsing, buffer alloc, and other utilities) > > l3fwd_lpm.c, (Longest Prefix Match functions) > > l3fwd_em.c, (Exact Match f.e. Hash functions) > > l3fwd.h, (Common defines and prototypes) >=20 > > Select LPM or EM based on run time selection f.e. > > l3fwd -c 0x1 -n 1 -- -p 0x1 -E ... (Exact Match) > > l3fwd -c 0x1 -n 1 -- -p 0x1 -L ... (LPM) >=20 > > Options "E" and "L" are mutualy-exclusive. >=20 > > Use function pointers during initialiation of relevant > data structures. >=20 > > Remove unwanted #ifdefs in the code with exception to > > DO_RFC_1812_CHECKS > > RTE_MACHINE_CPUFLAG_SSE4_2 >=20 > > Compiled for > > i686-native-linuxapp-gcc > > x86_64-native-linuxapp-gcc > > x86_x32-native-linuxapp-gcc > > x86_64-native-bsdapp-gcc >=20 > > Tested on > > Ubuntu 14.04 (GCC 4.8.4) > > FreeBSD 10.0 (GCC 4.8) > > I217 and I218 respectively. >=20 > Signed-off-by: Ravi Kerur > --- Acked-by: Konstantin Ananyev Great effort, thanks for doing it.