Re: tc-ipt v0.2: Extension does not know id 1504083504

2017-10-01 Thread Corey Hickey
On 2017-10-01 07:25, Sergey K. wrote: Hi Corey. I did it on your recommendation, replaced xtables.h file from my version of iptables 1.6.0, and replaced the file netfilter.h. Now it's works, but new construction doesn't: # tc filter add dev eth0 parent : u32 match u32 0 0 action xt -j SET

Re: tc-ipt v0.2: Extension does not know id 1504083504

2017-09-30 Thread Corey Hickey
On 2017-09-29 23:34, Sergey K. wrote: Hello. I have to apply this patch https://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git/commit/?h=v4.10.0=97a02cabefb2e2dcfe27f89943709afa84be5525 to my version of iproute2. But now I have a new information message, when I'm using

Re: [NET_SCHED 00/04]: External SFQ classifiers/flow classifier

2008-02-04 Thread Corey Hickey
Patrick McHardy wrote: You're missing protocol, handle etc. Try something like this: tc filter add dev eth0 protocol ip pref 1 parent 1: handle 1 \ flow hash keys dst divisor 1024 Thanks, the kernel accepts that. I guess I understand tc filter usage less than I thought I did

Re: kernel panic on 2.6.24 with esfq patch applied

2008-02-02 Thread Corey Hickey
Denys Fedoryshchenko wrote: Hi Probably bug related to ESFQ, now i will unload module and will test more. But probably not related, so if not difficult, please take a look. Feb 1 09:08:50 SERVER [12380.067104] BUG: unable to handle kernel NULL pointer dereference Feb 1 09:08:50

Re: kernel panic on 2.6.24 with esfq patch applied

2008-02-02 Thread Corey Hickey
Jarek Poplawski wrote: Hi Corey! I've just had a look at your site, and see you're a bit disappointed about the reception of your patches here. I don't use nor know about your work (maybe some time...), and wish you better public here, but maybe you'll find this story interesting: a few

Re: [NET_SCHED 00/04]: External SFQ classifiers/flow classifier

2008-02-02 Thread Corey Hickey
Patrick McHardy wrote: These patches add support for external classifiers to SFQ and add a new flow classifier, which can do hashing based on user-specified keys or deterministic mapping of keys to classes. Additionally there is a patch to make the SFQ queues visisble as classes to verify that

Re: SFQ: backport some features from ESFQ (try 5)

2007-11-15 Thread Corey Hickey
Corey Hickey wrote: Patchset try 2 addresses the review by Michael Buesch. Patchset try 3 addresses the review by Patrick McHardy. Patchset try 4 has a few cosmetic improvements. Patchset try 5 addresses further review by Patrick McHardy. This set of patches is substantially the same as my

[PATCH 2/8] Preparatory refactoring part 2.

2007-10-29 Thread Corey Hickey
qdisc change doesn't yet work for sfq anyway. Setting default parameters is moved into a separate function for clarity. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 88 +++--- 1 files changed, 47 insertions(+), 41 deletions

SFQ: backport some features from ESFQ (try 5)

2007-10-29 Thread Corey Hickey
Patchset try 2 addresses the review by Michael Buesch. Patchset try 3 addresses the review by Patrick McHardy. Patchset try 4 has a few cosmetic improvements. Patchset try 5 addresses further review by Patrick McHardy. This set of patches is substantially the same as my previous try, with

[PATCH 6/8] Remove comments about hardcoded values.

2007-10-29 Thread Corey Hickey
None of these are true anymore (hooray!). Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- include/linux/pkt_sched.h |8 net/sched/sch_sfq.c | 13 + 2 files changed, 1 insertions(+), 20 deletions(-) diff --git a/include/linux/pkt_sched.h b/include/linux

[PATCH 4/8] Add divisor.

2007-10-29 Thread Corey Hickey
Make hash divisor user-configurable. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 27 +-- 1 files changed, 21 insertions(+), 6 deletions(-) diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c index 1c1bf08..c74d5ce 100644 --- a/net/sched

[PATCH 5/8] Make qdisc changeable.

2007-10-29 Thread Corey Hickey
Re-implement sfq_change() and enable Qdisc_opts.change so tc qdisc change will work. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 67 ++- 1 files changed, 66 insertions(+), 1 deletions(-) diff --git a/net/sched

[PATCH 8/8] Use nested compat attributes to pass parameters.

2007-10-29 Thread Corey Hickey
This fixes the ambiguity between, for example: tc qdisc change ... perturb 0 tc qdisc change ... Without this patch, there is no way for SFQ to differentiate between a parameter specified to be 0 and a parameter that was omitted. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- include/linux

[PATCH 7/8] Rework perturb_period.

2007-10-29 Thread Corey Hickey
not to be a problem because (a) there's no valid use for a negative perturb_period, and (b) negative values will be seen as high values ( INT_MAX), which don't work anyway. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- include/linux/pkt_sched.h |2 +- net/sched/sch_sfq.c | 14 -- 2

[PATCH 3/8] Make depth (number of queues) user-configurable

2007-10-29 Thread Corey Hickey
* replace #define with a parameter * use old hardcoded value as a default * kcalloc() arrays in sfq_q_init() * free() arrays in new function sfq_q_destroy() * move sfq_destroy() to near sfq_q_destroy(), for clarity Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 104

[PATCH 1/8] Preparatory refactoring part 1.

2007-10-29 Thread Corey Hickey
(). Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 119 ++- 1 files changed, 70 insertions(+), 49 deletions(-) diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c index b542c87..10e2f3d 100644 --- a/net/sched/sch_sfq.c +++ b/net

[iproute2] SFQ: backport some features from ESFQ (try 5)

2007-10-29 Thread Corey Hickey
These patches follow the ESFQ--SFQ kernel patches. See the kernel patch summary for general information. Thanks, Corey include/linux/pkt_sched.h | 23 ++- tc/q_sfq.c| 42 +- 2 files changed, 51 insertions(+), 14

[PATCH 2/3] Change perturb_period to unsigned.

2007-10-29 Thread Corey Hickey
This corresponds to the kernel patch doing the same. Here, too, this will technically break binary compatibility with older kernels, but that shouldn't be a problem because negative perturb_period values aren't usable anyway. --- include/linux/pkt_sched.h |2 +- tc/q_sfq.c|

[PATCH 1/3] SFQ: Support changing depth and divisor.

2007-10-29 Thread Corey Hickey
This can safely be applied either before or after the kernel patches because the tc_sfq_qopt struct is unchanged: - old kernels will ignore the new parameters from new iproute2 - new kernels will use the same defaults for the new parameters --- include/linux/pkt_sched.h |9 -

[PATCH 3/3] Use nested compat attributes for passing parameters to the kernel.

2007-10-29 Thread Corey Hickey
Note that I have left sfq_print_opt() alone. At this point, there can be no difference between the data in the nested rtattrs and the data in the compat rtattr, and I didn't want to add clutter that isn't useful. Let me know if I should do differently. Signed-off-by: Corey Hickey [EMAIL PROTECTED

Re: [PATCH 8/8] Use nested compat attributes to pass parameters.

2007-10-29 Thread Corey Hickey
Corey Hickey wrote: +/* SFQ parameters exist as individual rtattr attributes, with a nested + * struct tc_sfq_qopt for compatibility with older userspace tools. If an + * individual attribute is set, we want to use it; otherwise, fall back to the + * nested struct. + * There is one caveat

Re: [PATCH 01/10] Preparatory refactoring part 1.

2007-10-01 Thread Corey Hickey
Patrick McHardy wrote: Corey Hickey wrote: Make a new function sfq_q_enqueue() that operates directly on the queue data. This will be useful for implementing sfq_change() in a later patch. A pleasant side-effect is reducing most of the duplicate code in sfq_enqueue() and sfq_requeue

Re: [PATCH 03/10] Move two functions.

2007-10-01 Thread Corey Hickey
Patrick McHardy wrote: Corey Hickey wrote: Move sfq_q_destroy() to above sfq_q_init() so that it can be used by an error case in a later patch. Move sfq_destroy() as well, for clarity. This patch looks pointless, just put them where you need them in the patch introducing them. As you wish

Re: [PATCH 05/10] Add divisor.

2007-10-01 Thread Corey Hickey
Patrick McHardy wrote: Corey Hickey wrote: Make hash divisor user-configurable. @@ -120,7 +121,7 @@ static __inline__ unsigned sfq_fold_hash(struct sfq_sched_data *q, u32 h, u32 h1 /* Have we any rotation primitives? If not, WHY? */ h ^= (h1pert) ^ (h1(0x1F - pert

Re: [PATCH 06/10] Make qdisc changeable.

2007-10-01 Thread Corey Hickey
Patrick McHardy wrote: Corey Hickey wrote: Re-implement sfq_change() and enable Qdisc_opts.change so tc qdisc change will work. +static int sfq_change(struct Qdisc *sch, struct rtattr *opt) +{ + ... + + /* finish up */ + if (q-perturb_period) { + q

Re: [PATCH 09/10] Change perturb_period to unsigned.

2007-10-01 Thread Corey Hickey
Patrick McHardy wrote: Corey Hickey wrote: perturb_period is currently a signed integer, but I can't see any good reason why this is so--a negative perturbation period will add a timer that expires in the past, causing constant perturbation, which makes hashing useless. if (q

Re: [PATCH 10/10] Use nested compat attributes to pass parameters.

2007-10-01 Thread Corey Hickey
Patrick McHardy wrote: Corey Hickey wrote: + +#define GET_PARAM(dst, nest, compat) do { \ + struct rtattr *rta = tb[(nest) - 1]; \ + if (rta) \ + (dst) = RTA_GET_U32(rta); \ + else if ((compat)) \ + (dst) = (compat); \ +} while (0) An inline

Re: [PATCH 02/10] Preparatory refactoring part 2.

2007-10-01 Thread Corey Hickey
Patrick McHardy wrote: Corey Hickey wrote: The sfq_destroy() -- sfq_q_destroy() change looks pointless here, but it's cleaner to split now and add code to sfq_q_destroy() in a later patch. +static void sfq_destroy(struct Qdisc *sch) +{ + struct sfq_sched_data *q = qdisc_priv(sch

Re: SFQ: backport some features from ESFQ (try 4)

2007-09-29 Thread Corey Hickey
Patrick McHardy wrote: Corey Hickey wrote: Patchset try 2 addresses the review by Michael Buesch. Patchset try 3 addresses the review by Patrick McHardy. Patchset try 4 has a few cosmetic improvements. Nobody reviewed my last set of patches, and I wasn't pushy about asking. Since it's been

SFQ: backport some features from ESFQ (try 4)

2007-09-28 Thread Corey Hickey
Patchset try 2 addresses the review by Michael Buesch. Patchset try 3 addresses the review by Patrick McHardy. Patchset try 4 has a few cosmetic improvements. Nobody reviewed my last set of patches, and I wasn't pushy about asking. Since it's been a while, I ported the kernel and userspace

[PATCH 03/10] Move two functions.

2007-09-28 Thread Corey Hickey
Move sfq_q_destroy() to above sfq_q_init() so that it can be used by an error case in a later patch. Move sfq_destroy() as well, for clarity. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 22 +++--- 1 files changed, 11 insertions(+), 11 deletions

[PATCH 01/10] Preparatory refactoring part 1.

2007-09-28 Thread Corey Hickey
(). Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 72 +++ 1 files changed, 38 insertions(+), 34 deletions(-) diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c index 3a23e30..57485ef 100644 --- a/net/sched/sch_sfq.c +++ b/net

[PATCH 02/10] Preparatory refactoring part 2.

2007-09-28 Thread Corey Hickey
-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 95 +-- 1 files changed, 54 insertions(+), 41 deletions(-) diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c index 57485ef..1ba3d1a 100644 --- a/net/sched/sch_sfq.c +++ b/net

[PATCH 04/10] Make depth (number of queues) user-configurable:

2007-09-28 Thread Corey Hickey
* replace #define with a parameter * use old hardcoded value as a default * kcalloc() arrays in sfq_q_init() * free() arrays in sfq_q_destroy() Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 85 +++--- 1 files changed, 59

[PATCH 06/10] Make qdisc changeable.

2007-09-28 Thread Corey Hickey
Re-implement sfq_change() and enable Qdisc_opts.change so tc qdisc change will work. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 61 ++- 1 files changed, 60 insertions(+), 1 deletions(-) diff --git a/net/sched

[PATCH 08/10] Multiply perturb_period by HZ when used rather than when assigned.

2007-09-28 Thread Corey Hickey
perturb_period is the only parameter that doesn't match 1:1 with the value from userspace. This change makes it easy and clean to use a small macro for setting parameters (in a subsequent patch). Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 10 +- 1 files

[PATCH 07/10] Remove comments about hardcoded values.

2007-09-28 Thread Corey Hickey
None of these are true anymore (hooray!). Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- include/linux/pkt_sched.h |8 net/sched/sch_sfq.c | 17 +++-- 2 files changed, 3 insertions(+), 22 deletions(-) diff --git a/include/linux/pkt_sched.h b/include/linux

[PATCH 09/10] Change perturb_period to unsigned.

2007-09-28 Thread Corey Hickey
will be seen as high values ( INT_MAX), which don't work anyway. If perturb_period is too large, (perturb_period * HZ) will overflow the size of an unsigned int and wrap around. So, check for thet and reject values that are too high. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- include/linux

[PATCH 05/10] Add divisor.

2007-09-28 Thread Corey Hickey
Make hash divisor user-configurable. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 18 +- 1 files changed, 13 insertions(+), 5 deletions(-) diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c index 34a299d..d72ea7c 100644 --- a/net/sched/sch_sfq.c

[PATCH 10/10] Use nested compat attributes to pass parameters.

2007-09-28 Thread Corey Hickey
This fixes the ambiguity between, for example: tc qdisc change ... perturb 0 tc qdisc change ... Without this patch, there is no way for SFQ to differentiate between a parameter specified to be 0 and a parameter that was omitted. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- include/linux

sfq

2007-09-28 Thread Corey Hickey
These patches follow the ESFQ--SFQ kernel patches. See the kernel patch summary for general information. Thanks, Corey include/linux/pkt_sched.h | 23 ++- tc/q_sfq.c| 43 ++- 2 files changed, 52 insertions(+), 14

[PATCH 2/3] Change perturb_period to unsigned.

2007-09-28 Thread Corey Hickey
This corresponds to the kernel patch doing the same. Here, too, this will technically break binary compatibility with older kernels, but that shouldn't be a problem because negative perturb_period values aren't usable anyway. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- include/linux

[PATCH 3/3] Use nested compat attributes for passing parameters to the kernel.

2007-09-28 Thread Corey Hickey
Note that I have left sfq_print_opt() alone. At this point, there can be no difference between the data in the nested rtattrs and the data in the compat rtattr, and I didn't want to add clutter that isn't useful. Let me know if I should do differently. Signed-off-by: Corey Hickey [EMAIL PROTECTED

[PATCH 1/3] SFQ: Support changing depth and divisor.

2007-09-28 Thread Corey Hickey
This can safely be applied either before or after the kernel patches because the tc_sfq_qopt struct is unchanged: - old kernels will ignore the parameters from new iproute2 - new kernels will use the same default parameters Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- include/linux

Re: sfq (iproute2 patches)

2007-09-28 Thread Corey Hickey
Corey Hickey wrote: These patches follow the ESFQ--SFQ kernel patches. See the kernel patch summary for general information. Dang, I forgot to set the subject; these are the iproute2 patches. -Corey - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message

[PATCH 00/10] SFQ: backport some features from ESFQ (try 3)

2007-08-25 Thread Corey Hickey
Patchset try 2 addresses the review by Michael Buesch. Patchset try 3 addresses the review by Patrick McHardy. The first 7 patches in this series resemble the corresponding 7 patches I sent previously. There aren't any major changes--just modifications to address errors noticed in review and

[PATCH 01/10] Preparatory refactoring part 1.

2007-08-25 Thread Corey Hickey
(). Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 72 +++ 1 files changed, 38 insertions(+), 34 deletions(-) diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c index 9579573..346e966 100644 --- a/net/sched/sch_sfq.c +++ b/net

[PATCH 02/10] Preparatory refactoring part 2.

2007-08-25 Thread Corey Hickey
-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 96 +-- 1 files changed, 55 insertions(+), 41 deletions(-) diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c index 346e966..f95a0dc 100644 --- a/net/sched/sch_sfq.c +++ b/net

[PATCH 03/10] Move two functions.

2007-08-25 Thread Corey Hickey
Move sfq_q_destroy() to above sfq_q_init() so that it can be used by an error case in a later patch. Move sfq_destroy() as well, for clarity. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 22 +++--- 1 files changed, 11 insertions(+), 11 deletions

[PATCH 04/10] Make depth (number of queues) user-configurable:

2007-08-25 Thread Corey Hickey
* replace #define with a parameter * use old hardcoded value as a default * kcalloc() arrays in sfq_q_init() * free() arrays in sfq_q_destroy() Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 84 +++ 1 files changed, 58

[PATCH 08/10] Multiply perturb_period by HZ when used rather than when assigned.

2007-08-25 Thread Corey Hickey
perturb_period is the only parameter that doesn't match 1:1 with the value from userspace. This change makes it easy and clean to use a small macro for setting parameters (in a subsequent patch). Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 10 +- 1 files

[PATCH 06/10] Make qdisc changeable.

2007-08-25 Thread Corey Hickey
Re-implement sfq_change() and enable Qdisc_opts.change so tc qdisc change will work. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 64 ++- 1 files changed, 63 insertions(+), 1 deletions(-) diff --git a/net/sched

[PATCH 07/10] Remove comments about hardcoded values.

2007-08-25 Thread Corey Hickey
None of these are true anymore (hooray!). Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- include/linux/pkt_sched.h |8 net/sched/sch_sfq.c | 17 +++-- 2 files changed, 3 insertions(+), 22 deletions(-) diff --git a/include/linux/pkt_sched.h b/include/linux

[PATCH 05/10] Add divisor.

2007-08-25 Thread Corey Hickey
Make hash divisor user-configurable. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 18 +- 1 files changed, 13 insertions(+), 5 deletions(-) diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c index 2e6d607..827b885 100644 --- a/net/sched/sch_sfq.c

[PATCH 09/10] Change perturb_period to unsigned.

2007-08-25 Thread Corey Hickey
will be seen as high values ( INT_MAX), which don't work anyway. If perturb_period is too large, (perturb_period * HZ) will overflow the size of an unsigned int and wrap around. So, check for thet and reject values that are too high. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- include/linux

[PATCH 10/10] Use nested compat attributes to pass parameters.

2007-08-25 Thread Corey Hickey
This fixes the ambiguity between, for example: tc qdisc change ... perturb 0 tc qdisc change ... Without this patch, there is no way for SFQ to differentiate between a parameter specified to be 0 and a parameter that was omitted. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- include/linux

[PATCH 0/3][iproute2] SFQ: backport some features from ESFQ

2007-08-25 Thread Corey Hickey
These patches follow the ESFQ--SFQ kernel patches. See the kernel patch summary for general information. Thanks, Corey include/linux/pkt_sched.h | 23 ++- tc/q_sfq.c| 43 ++- 2 files changed, 52 insertions(+), 14

[PATCH 1/3] SFQ: Support changing depth and divisor.

2007-08-25 Thread Corey Hickey
This can safely be applied either before or after the kernel patches because the tc_sfq_qopt struct is unchanged: - old kernels will ignore the parameters from new iproute2 - new kernels will use the same default parameters --- include/linux/pkt_sched.h |9 - tc/q_sfq.c

[PATCH 2/3] Change perturb_period to unsigned.

2007-08-25 Thread Corey Hickey
This corresponds to the kernel patch doing the same. Here, too, this will technically break binary compatibility with older kernels, but that shouldn't be a problem because negative perturb_period values aren't usable anyway. --- include/linux/pkt_sched.h |2 +- tc/q_sfq.c|

[PATCH 3/3] Use nested compat attributes for passing parameters to the kernel.

2007-08-25 Thread Corey Hickey
Note that I have left sfq_print_opt() alone. At this point, there can be no difference between the data in the nested rtattrs and the data in the compat rtattr, and I didn't want to add clutter that isn't useful. Let me know if I should do differently. Signed-off-by: Corey Hickey [EMAIL PROTECTED

Re: [PATCH 6/7] Make qdisc changeable.

2007-08-05 Thread Corey Hickey
Patrick McHardy wrote: + if ((err = sfq_q_init(tmp, opt))) + return err; This will also use defaults for all unspecified values. It would be more consistent with other qdiscs to only change those values that are actually specified, so something like tc qdisc change ...

Re: [PATCH 2/7] Preparatory refactoring part 2.

2007-07-31 Thread Corey Hickey
Patrick McHardy wrote: Corey Hickey wrote: diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c index 8ae077f..0c46938 100644 --- a/net/sched/sch_sfq.c +++ b/net/sched/sch_sfq.c @@ -380,71 +380,71 @@ static void sfq_perturbation(unsigned long arg) } } -static int sfq_change(struct

Re: [PATCH 6/7] Make qdisc changeable.

2007-07-31 Thread Corey Hickey
Patrick McHardy wrote: Corey Hickey wrote: Re-implement sfq_change() and enable Qdisc_opts.change so tc qdisc change will work. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 51 ++- 1 files changed, 50 insertions

Re: [PATCH 1/7] Preparatory refactoring part 1.

2007-07-30 Thread Corey Hickey
Patrick McHardy wrote: -static int -sfq_enqueue(struct sk_buff *skb, struct Qdisc* sch) +static void sfq_q_enqueue(struct sk_buff *skb, struct sfq_sched_data *q, unsigned int end) Please make sure to break at 80 chars and to keep the style in this file consistent (newline before function

[PATCH 0/7] SFQ: backport some features from ESFQ

2007-07-29 Thread Corey Hickey
Hello, This set of patches adds some of ESFQ's modifications to the original SFQ. Thus far, I have received support for this approach rather than for trying to get ESFQ included as a separate qdisc. http://mailman.ds9a.nl/pipermail/lartc/2007q2/021056.html My patches here implement tc qdisc

[PATCH 1/7] Preparatory refactoring part 1.

2007-07-29 Thread Corey Hickey
(). Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 70 ++ 1 files changed, 36 insertions(+), 34 deletions(-) diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c index 9579573..8ae077f 100644 --- a/net/sched/sch_sfq.c +++ b/net

[PATCH 2/7] Preparatory refactoring part 2.

2007-07-29 Thread Corey Hickey
to remove sfq_change(); tc qdisc change doesn't yet work for sfq anyway. The sfq_destroy() -- sfq_q_destroy() change looks pointless here, but it's cleaner to split now and add code to sfq_q_destroy() in a later patch. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 80

[PATCH 3/7] Move two functions.

2007-07-29 Thread Corey Hickey
Move sfq_q_destroy() to above sfq_q_init() so that it can be used by an error case in a later patch. Move sfq_destroy() as well, for clarity. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 24 1 files changed, 12 insertions(+), 12 deletions

[PATCH 4/7] Add depth.

2007-07-29 Thread Corey Hickey
Make depth (number of queues) user-configurable: * replace #define with a parameter * use old hardcoded value as a default * kmalloc() arrays in sfq_q_init() * free() arrays in sfq_q_destroy() Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 85

[PATCH 5/7] Add divisor.

2007-07-29 Thread Corey Hickey
Make hash divisor user-configurable. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 18 +- 1 files changed, 13 insertions(+), 5 deletions(-) diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c index 2ff6a27..3e67a68 100644 --- a/net/sched/sch_sfq.c

[PATCH 6/7] Make qdisc changeable.

2007-07-29 Thread Corey Hickey
Re-implement sfq_change() and enable Qdisc_opts.change so tc qdisc change will work. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 51 ++- 1 files changed, 50 insertions(+), 1 deletions(-) diff --git a/net/sched

[PATCH] [iproute2] SFQ: Support changing depth and divisor.

2007-07-29 Thread Corey Hickey
This can safely be applied either before or after the kernel patches because the tc_sfq_qopt struct is unchanged: - old kernels will ignore the parameters from new iproute2 - new kernels will use the same default parameters --- include/linux/pkt_sched.h |9 - tc/q_sfq.c

[PATCH 7/7] Remove comments about hardcoded values.

2007-07-29 Thread Corey Hickey
None of these are true anymore (hooray!). Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- include/linux/pkt_sched.h |8 net/sched/sch_sfq.c | 17 +++-- 2 files changed, 3 insertions(+), 22 deletions(-) diff --git a/include/linux/pkt_sched.h b/include/linux

Re: [PATCH 0/7] SFQ: backport some features from ESFQ

2007-07-29 Thread Corey Hickey
Corey Hickey wrote: Hello, This set of patches adds some of ESFQ's modifications to the original SFQ. Thus far, I have received support for this approach rather than for trying to get ESFQ included as a separate qdisc. Crud; I wasn't expecting git-send-email to thread the messages that way

Re: [PATCH 4/7] Add depth.

2007-07-29 Thread Corey Hickey
Michael Buesch wrote: On Sunday 29 July 2007 09:08:51 Corey Hickey wrote: p = d; n = q-dep[d].next; @@ -215,7 +216,7 @@ static unsigned int sfq_drop(struct Qdisc *sch) drop a packet from it */ if (d 1) { - sfq_index x = q-dep[d+SFQ_DEPTH].next

[PATCH 3/7] Move two functions.

2007-07-29 Thread Corey Hickey
Move sfq_q_destroy() to above sfq_q_init() so that it can be used by an error case in a later patch. Move sfq_destroy() as well, for clarity. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 24 1 files changed, 12 insertions(+), 12 deletions

[PATCH 2/7] Preparatory refactoring part 2.

2007-07-29 Thread Corey Hickey
to remove sfq_change(); tc qdisc change doesn't yet work for sfq anyway. The sfq_destroy() -- sfq_q_destroy() change looks pointless here, but it's cleaner to split now and add code to sfq_q_destroy() in a later patch. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 80

SFQ: backport some features from ESFQ (try 2)

2007-07-29 Thread Corey Hickey
Hello, Patchset try 2 addresses the review by Michael Buesch. This set of patches adds some of ESFQ's modifications to the original SFQ. Thus far, I have received support for this approach rather than for trying to get ESFQ included as a separate qdisc.

[PATCH 5/7] Add divisor.

2007-07-29 Thread Corey Hickey
Make hash divisor user-configurable. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 17 - 1 files changed, 12 insertions(+), 5 deletions(-) diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c index 70124ac..e6a6a21 100644 --- a/net/sched/sch_sfq.c

[PATCH 1/7] Preparatory refactoring part 1.

2007-07-29 Thread Corey Hickey
(). Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 70 ++ 1 files changed, 36 insertions(+), 34 deletions(-) diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c index 9579573..8ae077f 100644 --- a/net/sched/sch_sfq.c +++ b/net

[PATCH 4/7] Add depth.

2007-07-29 Thread Corey Hickey
Make depth (number of queues) user-configurable: * replace #define with a parameter * use old hardcoded value as a default * kcalloc() arrays in sfq_q_init() * free() arrays in sfq_q_destroy() Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 81

[PATCH 6/7] Make qdisc changeable.

2007-07-29 Thread Corey Hickey
Re-implement sfq_change() and enable Qdisc_opts.change so tc qdisc change will work. Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- net/sched/sch_sfq.c | 51 ++- 1 files changed, 50 insertions(+), 1 deletions(-) diff --git a/net/sched

[PATCH 7/7] Remove comments about hardcoded values.

2007-07-29 Thread Corey Hickey
None of these are true anymore (hooray!). Signed-off-by: Corey Hickey [EMAIL PROTECTED] --- include/linux/pkt_sched.h |8 net/sched/sch_sfq.c | 17 +++-- 2 files changed, 3 insertions(+), 22 deletions(-) diff --git a/include/linux/pkt_sched.h b/include/linux

Re: [LARTC] ESFQ: request for user input

2007-06-24 Thread Corey Hickey
Patrick McHardy wrote: Corey Hickey wrote: Patrick McHardy wrote: Should ESFQ be merged into SFQ or remain as a separate qdisc? I've CCed netdev. I think merging parts of ESFQ (dynamic depth and flow number) would make a lot of sense, but I'm intending to submit an alternative