> From: Ravi Kerur [mailto:rkerur at gmail.com] > Sent: Monday, December 21, 2015 11:13 PM > To: dev at dpdk.org > Cc: Richardson, Bruce; Doherty, Declan; Ananyev, Konstantin; Ravi Kerur > Subject: [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> > ---
Acked-by: Konstantin Ananyev <konstantin.ananyev at intel.com> Great effort, thanks for doing it.