Thread (13 messages) 13 messages, 5 authors, 2016-02-28

Re: [PATCH v1] Modify and modularize l3fwd code

From: Ananyev, Konstantin <hidden>
Date: 2016-01-18 13:31:13

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

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 <redacted>
---
Acked-by: Konstantin Ananyev <redacted>
Great effort, thanks for doing it.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help