Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Mar 2016 12:40:31 -0800 (PST)
From:      Don Lewis <truckman@FreeBSD.org>
To:        ralsaadi@swin.edu.au
Cc:        aqm@ietf.org, freebsd-net@freebsd.org, freebsd-ipfw@freebsd.org, garmitage@swin.edu.au
Subject:   Re: Dummynet AQM v0.1- CoDel and FQ-CoDel for FreeBSD's ipfw/dummynet 
Message-ID:  <201603062040.u26KeWoZ084554@gw.catspoiler.org>
In-Reply-To: <6545444AE21C2749939E637E56594CEA3C187192@gsp-ex02.ds.swin.edu.au>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
On 26 Feb, Rasool Al-Saadi wrote:
> Dear all,
> 
> I would like to announce that we (myself and Grenville Armitage)
> released Dummynet AQM v0.1, which is an independent implementation of
> CoDel and FQ-CoDel for FreeBSD's ipfw/dummynet framework, based on the
> IETF  CoDel [1] and FQ-CoDel [2] Internet-Drafts. We prepared patches
> for FreeBSD11-CURRENT-r295345  and FreeBSD 10.x-RELEASE (10.0, 10.1,
> 10.2), and a technical report  of our implementation.
> 
> Patches and documentation can be found in:
> http://caia.swin.edu.au/freebsd/aqm

The FreeBSD 10 patch applies cleanly to FreeBSD 10.3-PRERELEASE, but the
build fails on i386:

/usr/src/sbin/ipfw/dummynet.c:166:5: error: format specifies type 'long' but the argument has type 'int64_t' (aka 'long long') [-Werror,-Wformat]
                                ep->par[0],
                                ^~~~~~~~~~
/usr/src/sbin/ipfw/dummynet.c:167:5: error: format specifies type 'long' but the argument has type 'int64_t' (aka 'long long') [-Werror,-Wformat]
                                ep->par[1] );
                                ^~~~~~~~~~
/usr/src/sbin/ipfw/dummynet.c:177:5: error: format specifies type 'long' but the argument has type 'int64_t' (aka 'long long') [-Werror,-Wformat]
                                ep->par[0],
                                ^~~~~~~~~~
/usr/src/sbin/ipfw/dummynet.c:178:5: error: format specifies type 'long' but the argument has type 'int64_t' (aka 'long long') [-Werror,-Wformat]
                                ep->par[1],
                                ^~~~~~~~~~
/usr/src/sbin/ipfw/dummynet.c:179:5: error: format specifies type 'long' but the argument has type 'int64_t' (aka 'long long') [-Werror,-Wformat]
                                ep->par[3],
                                ^~~~~~~~~~
/usr/src/sbin/ipfw/dummynet.c:180:5: error: format specifies type 'long' but the argument has type 'int64_t' (aka 'long long') [-Werror,-Wformat]
                                ep->par[4],
                                ^~~~~~~~~~
/usr/src/sbin/ipfw/dummynet.c:181:5: error: format specifies type 'long' but the argument has type 'int64_t' (aka 'long long') [-Werror,-Wformat]
                                ep->par[5]
                                ^~~~~~~~~~


The proper fix for this on FreeBSD is to cast these values to intmax_t
and use the %jd printf format.




Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?201603062040.u26KeWoZ084554>