[dpdk-dev] [PATCH v1] Modify and modularize l3fwd code
Kulasek, TomaszX
tomaszx.kulasek at intel.com
Tue Feb 2 13:01:14 CET 2016
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Ravi Kerur
> Sent: Tuesday, December 22, 2015 00:13
> To: dev at dpdk.org
> Subject: [dpdk-dev] [PATCH v1] Modify and modularize l3fwd code
>
> v1:
> > Rebase to latest code base for DPDK team review.
>
> Intel team's (Konstantin, Bruce and Declan) review comments
>
> 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=default for non
> __SSE4_1__ compilation and build
> > Compiled for GCC 4.8.4 and 5.1 on Ubuntu 14.04
>
> 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
>
> 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
>
> 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)
>
> > 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)
>
> > Options "E" and "L" are mutualy-exclusive.
>
> > Use function pointers during initialiation of relevant
> data structures.
>
> > Remove unwanted #ifdefs in the code with exception to
> > DO_RFC_1812_CHECKS
> > RTE_MACHINE_CPUFLAG_SSE4_2
>
> > Compiled for
> > i686-native-linuxapp-gcc
> > x86_64-native-linuxapp-gcc
> > x86_x32-native-linuxapp-gcc
> > x86_64-native-bsdapp-gcc
>
> > Tested on
> > Ubuntu 14.04 (GCC 4.8.4)
> > FreeBSD 10.0 (GCC 4.8)
> > I217 and I218 respectively.
>
> Signed-off-by: Ravi Kerur <rkerur at gmail.com>
> ---
Tested-by: Tomasz Kulasek <tomaszx.kulasek at intel.com>
Acked-by: Tomasz Kulasek <tomaszx.kulasek at intel.com>
More information about the dev
mailing list