[LARTC] ESFQ?
Andy Furniss
andy.furniss@dsl.pipex.com
Wed, 12 Jan 2005 01:08:42 +0000
Stephen Hemminger wrote:
> On Tue, 11 Jan 2005 23:06:27 +0000
> Andy Furniss <andy.furniss@dsl.pipex.com> wrote:
>
>
>>Thomas Graf wrote:
>>
>>>* Andy Furniss <41E3F088.6060708@dsl.pipex.com> 2005-01-11 15:28
>>>
>>>
>>>>diff -urN linux-2.6.10.orig/include/linux/pkt_sched.h linux-2.6.10/include/linux/pkt_sched.h
>>>>@@ -136,6 +143,7 @@
>>>> __u32 limit; /* Maximal packets in queue */
>>>> unsigned divisor; /* Hash divisor */
>>>> unsigned flows; /* Maximal number of flows */
>>>>+ unsigned hash_kind; /* Hash function to use for flow identification */
>>>>};
>>>
>>>
>>>This breaks compatibility to older iproute2 versions
>>>compiled with older header versions (not including
>>>the additional 4 octets). sch_sfq.c:
>>>
>>> if (opt->rta_len < RTA_LENGTH(sizeof(*ctl)))
>>> return -EINVAL;
>>
>>I did wonder if it could just come out now that iproute2 uses its own
>>pkt_sched.h.
>>
>>Just to be sure I understand - it's a risk that always existed eg.
>>before Stephen maintained iproute2, when it compiled against kernel
>>headers. If I patched kernel and failed to compile new tc/had old tc
>>ahead in path etc. then sfq would be broken.
>>
>>So if you patch make sure you build and use new tc do tc -V / check you
>>don't have an old one in /sbin as iproute2's make install uses /usr/sbin
>>by default.
>>
>
>
> We need to maintain binary compatibility so that old command with latest
> kernel, and new command works with old kernel. That restricts message formats.
>
> But not source compatibility for iproute2, the iproute2 package needs to be self-contained
> and not depend on external (kernel) headers that may or may not be up to date.
>
> Also, older version of iproute2 compiled with current kernel headers
> should be supported. I would rather see all versions of iproute2 tarball's
> as self contained and not depend on kernel headers.
>
Ahh - I think I see what you mean.
If esfq wants to get into kernel then it has to become a completly new
queue and not mess with sfq options at all.
Andy.