Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
From: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
To: <cake@lists.bufferbloat.net>
Subject: Re: [Cake] Fixing iproute2 compile
Date: Tue, 20 Oct 2015 10:13:21 +0100	[thread overview]
Message-ID: <562605B1.2020508@darbyshire-bryant.me.uk> (raw)
In-Reply-To: <EEDAE319-7DC8-44A5-A364-310F4DE1C0BF@darbyshire-bryant.me.uk>

[-- Attachment #1: Type: text/plain, Size: 3505 bytes --]

Hi list,

Now that I've had a little more time to look at this and I'm not on a
train with exceptionally awful connectivity........

iproute2 commit 6256f8c9e45f01187b297a576e148534a393c990  introduced a
backup definition of 'offsetof' macro in utils.h presumably to cover the
case where it wasn't defined elsewhere.   Anything post that iproute2
commit (Dave's tc-adv repo as example) will have this macro defined
courtesy 'utils.h'.

According to various man pages, 'offsetof' should be defined as part of
'stddef.h' which q_cake.c does not include.  By including 'stddef.h' in
q_cake.c I can get q_cake.c to compile and I think that this is a more
correct solution than that proposed previously.  I'm sure someone will
come up with an even more correct solution :-)

For full disclosure I should point out that toke's iproute2 4.0.0 + cake
repo still fails to build completely on my Linux mint 17.2 box *BUT*
with the following diff it at least finishes 'cake' whereas it used to
blow up over 'offsetof' :-)

Kevin



diff --git a/tc/q_cake.c b/tc/q_cake.c
index 3ab93c2..8c3e9c8 100644
--- a/tc/q_cake.c
+++ b/tc/q_cake.c
@@ -37,6 +37,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <stddef.h>
 #include <unistd.h>
 #include <syslog.h>
 #include <fcntl.h>




On 19/10/15 22:17, Kevin Darbyshire-Bryant wrote:
> I think the problem is we're not including stddef.h which defines offsetof.  Later versions of iproute include a def in Utils.h but that wasn't in v4.0.0 which is what tokes repo is based on. Tc-adv is a bit more recent. 
>
> --
> Cheers,
>
> Kevin@Darbyshire-Bryant.me.uk
> Sent from my phone, apologies for brevity, spelling & top posting
>
>> On 19 Oct 2015, at 17:41, Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk> wrote:
>>
>> Hold the phone...
>>
>> My guess is a difference in definition of offsetof as potentially defined in tc/include/Utils.h
>>
>> But very hard to tell on my phone!
>>
>> --
>> Cheers,
>>
>> Kevin@Darbyshire-Bryant.me.uk
>> Sent from my phone, apologies for brevity, spelling & top posting
>>
>>> On 19 Oct 2015, at 17:01, Toke Høiland-Jørgensen <toke@toke.dk> wrote:
>>>
>>> So finally got iproute2 to compile out of the kau.toke.dk repo. The
>>> patch below was needed to cake. Posting it here rather than just
>>> committing in the hope of getting someone (Jonathan?) to take a look at
>>> it and fix it everywhere it's needed :)
>>>
>>> -Toke
>>>
>>> diff --git a/tc/q_cake.c b/tc/q_cake.c
>>> index 4d64405..1384a46 100644
>>> --- a/tc/q_cake.c
>>> +++ b/tc/q_cake.c
>>> @@ -495,7 +496,7 @@ static int cake_print_xstats(struct qdisc_util *qu, FILE *f,
>>>
>>>   } else if (stnc->version >= 1 && stnc->version < 0xFF
>>>               && stnc->max_tins == TC_CAKE_MAX_TINS
>>> -                && RTA_PAYLOAD(xstats) >= offsetof(*stnc, capacity_estimate))
>>> +                && RTA_PAYLOAD(xstats) >= offsetof(typeof(*stnc), capacity_estimate))
>>>   {
>>>       int i;
>>>
>>> _______________________________________________
>>> Cake mailing list
>>> Cake@lists.bufferbloat.net
>>> https://lists.bufferbloat.net/listinfo/cake
>> _______________________________________________
>> Cake mailing list
>> Cake@lists.bufferbloat.net
>> https://lists.bufferbloat.net/listinfo/cake
>>
>>
>> _______________________________________________
>> Cake mailing list
>> Cake@lists.bufferbloat.net
>> https://lists.bufferbloat.net/listinfo/cake



[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4816 bytes --]

  reply	other threads:[~2015-10-20  9:13 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-19 16:01 Toke Høiland-Jørgensen
2015-10-19 16:31 ` Kevin Darbyshire-Bryant
2015-10-20 15:33   ` Toke Høiland-Jørgensen
2015-10-19 16:41 ` Kevin Darbyshire-Bryant
2015-10-19 21:17   ` Kevin Darbyshire-Bryant
2015-10-20  9:13     ` Kevin Darbyshire-Bryant [this message]
2015-10-20 15:38       ` Toke Høiland-Jørgensen
2015-10-21 10:31         ` Kevin Darbyshire-Bryant
2015-10-21 11:38           ` Toke Høiland-Jørgensen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/cake.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=562605B1.2020508@darbyshire-bryant.me.uk \
    --to=kevin@darbyshire-bryant.me.uk \
    --cc=cake@lists.bufferbloat.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox