[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