[dpdk-dev] [PATCH] librte_lpm: define tbl entry reversely for big endian
Thomas Monjalon
thomas.monjalon at 6wind.com
Mon Mar 23 15:03:55 CET 2015
2015-03-09 14:02, Bruce Richardson:
> On Wed, Mar 04, 2015 at 02:34:12PM +0800, xuelin.shi at freescale.com wrote:
> > From: Xuelin Shi <xuelin.shi at freescale.com>
> >
> > This module uses type conversion between struct and int.
> > Also truncation and comparison is used with this int.
> > It is not safe for different endian arch.
> >
> > Add ifdef for big endian struct to fix this issue.
> >
> > Signed-off-by: Xuelin Shi <xuelin.shi at freescale.com>
>
> Get an error compiling this up (using clang on FreeBSD).
>
> CC rte_lpm.o
> In file included from /usr/home/bruce/dpdk.org/lib/librte_lpm/rte_lpm.c:57:
> /usr/home/bruce/dpdk.org/lib/librte_lpm/rte_lpm.h:99:5: fatal error: 'RTE_BYTE_ORDER' is not defined, evaluates to 0 [-Wundef]
> #if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
> ^
> 1 error generated.
>
> Adding "#include <rte_byteorder.h>" should fix the issue.
Please Xuelin, could you submit a v2?
Thanks
> Existing unit tests on IA (little endian) pass fine there-after, but I think for
> this patch it would be good to have an ack from someone who can validate on
> a big endian system, since this is what this patch is meant to enable.
>
> /Bruce
>
More information about the dev
mailing list