[dpdk-dev] [PATCH v2] testpmd: fix build on FreeBSD

Thomas Monjalon thomas.monjalon at 6wind.com
Fri Mar 25 19:19:30 CET 2016


2016-03-25 12:15, Bruce Richardson:
> On Fri, Mar 25, 2016 at 12:10:40PM +0000, Bruce Richardson wrote:
> > On Wed, Mar 23, 2016 at 04:17:12PM +0100, Thomas Monjalon wrote:
> > > 2016-03-23 02:17, Wu, Jingjing:
> > > > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Marvin Liu
> > > > > Build log:
> > > > > /root/dpdk/app/test-pmd/cmdline.c:6687:45: error: no member named
> > > > > 's6_addr32' in 'struct in6_addr'
> > > > >     rte_be_to_cpu_32(res->ip_value.addr.ipv6.s6_addr32[i]);
> > > > > 
> > > > > This is caused by macro "s6_addr32" not defined on FreeBSD and testpmd
> > > > > swap big endian parameter to host endian. Move the swap action to i40e
> > > > > ethdev will fix this issue.
> > > > > 
> > > > > Fixes: 7b1312891b69 ("ethdev: add IP in GRE tunnel")
> > > > > 
> > > > > Signed-off-by: Marvin Liu <yong.liu at intel.com>
> > > > Acked-by: Jingjing Wu <jingjing.wu at intel.com>
> > > 
> > > It looks good but something is missing to decide that it is the right fix:
> > > the API do not state wether these fields (and others) are big endian or
> > > something else.
> > > 
> > > Please Jingjing, fix the ethdev comments for these fields and others
> > > rte_eth_ipv*_flow in a separate patch.
> > 
> > +1 to the more info because the endianness is confusing here. However, this look
> > a better fix than the previous one (v1 patch).
> > 
> > Thomas, can this be merged for RC2 to fix the BSD build, which should be a 
> > priority? Even if it's not the full solution, I think we need to at least get
> > the code building on BSD.
> > 
> > Thanks,
> > /Bruce
> 
> And I confirm this patch fixes the FreeBSD compile for both gcc and clang.
> 
> Tested-by: Bruce Richardson <bruce.richardson at intel.com>

Applied, thanks


More information about the dev mailing list