2005-11-16 19:44:38

by David Gómez

[permalink] [raw]
Subject: /net/sched/Kconfig broken

Hi all,

It's impossible to enable the U32 classifier in QoS submenu, to use it
with the "tc" application. In fact there are 23 :-/ options and suboptions
that are missing from the configuration because it seems that the Kconfig
file is broken.

I don't know enough Kconfig syntax, but it seems that one of the problems
is here:

config NET_CLS_ROUTE
bool
default n

Anyway removing this doesn't show all the options, just some of them,
so there are more problems with the net/sched/Kconfig file.


--
David Gómez Jabber ID: [email protected]


2005-11-16 19:51:27

by David Miller

[permalink] [raw]
Subject: Re: /net/sched/Kconfig broken

From: David G?mez <[email protected]>
Date: Wed, 16 Nov 2005 20:44:14 +0100

> It's impossible to enable the U32 classifier in QoS submenu, to use it
> with the "tc" application. In fact there are 23 :-/ options and suboptions
> that are missing from the configuration because it seems that the Kconfig
> file is broken.

I can enable this just fine by using "make config", making
sure to enable CONFIG_NET_SCHED, then CONFIG_NET_CLS_BASIC,
and then the necessary classifiers (including U32) are offered
to be enabled.

Perhaps there is something amiss in the configuration mechanism
you are trying to use. So you might want to tell us which kernel
config menu program you are trying to use so this can be debugged
further.

2005-11-16 20:10:47

by David Gómez

[permalink] [raw]
Subject: Re: /net/sched/Kconfig broken

Hi David,

On Nov 16 at 11:51:41, David S. Miller wrote:
> From: David Gómez <[email protected]>
> Date: Wed, 16 Nov 2005 20:44:14 +0100
>
> > It's impossible to enable the U32 classifier in QoS submenu, to use it
> > with the "tc" application. In fact there are 23 :-/ options and suboptions
> > that are missing from the configuration because it seems that the Kconfig
> > file is broken.
>
> I can enable this just fine by using "make config", making
> sure to enable CONFIG_NET_SCHED, then CONFIG_NET_CLS_BASIC,
> and then the necessary classifiers (including U32) are offered
> to be enabled.

Sorry for not giving more details. I'm using make menuconfig
in a 2.6.14 kernel After selecting CONFIG_NET_SCHED and CONFIG_NET_CLS_BASIC
i don't see new options, the last option visible is NET_CLS_ROUTE4.

thanks,

--
David Gómez Jabber ID: [email protected]

2005-11-16 22:48:25

by David Gómez

[permalink] [raw]
Subject: Re: /net/sched/Kconfig broken

Hi,

On Nov 16 at 09:10:20, David Gómez wrote:
> > I can enable this just fine by using "make config", making
> > sure to enable CONFIG_NET_SCHED, then CONFIG_NET_CLS_BASIC,
> > and then the necessary classifiers (including U32) are offered
> > to be enabled.
>
> Sorry for not giving more details. I'm using make menuconfig
> in a 2.6.14 kernel After selecting CONFIG_NET_SCHED and CONFIG_NET_CLS_BASIC
> i don't see new options, the last option visible is NET_CLS_ROUTE4.

I tested 'gconfig' and i'm able to see all the options in the QoS menu,
so the problem seems 'menuconfig' related...

--
David Gómez Jabber ID: [email protected]

2005-11-16 23:16:53

by Adrian Bunk

[permalink] [raw]
Subject: Re: /net/sched/Kconfig broken

On Wed, Nov 16, 2005 at 09:10:20PM +0100, David G?mez wrote:
> Hi David,
>
> On Nov 16 at 11:51:41, David S. Miller wrote:
> > From: David G?mez <[email protected]>
> > Date: Wed, 16 Nov 2005 20:44:14 +0100
> >
> > > It's impossible to enable the U32 classifier in QoS submenu, to use it
> > > with the "tc" application. In fact there are 23 :-/ options and suboptions
> > > that are missing from the configuration because it seems that the Kconfig
> > > file is broken.
> >
> > I can enable this just fine by using "make config", making
> > sure to enable CONFIG_NET_SCHED, then CONFIG_NET_CLS_BASIC,
> > and then the necessary classifiers (including U32) are offered
> > to be enabled.
>
> Sorry for not giving more details. I'm using make menuconfig
> in a 2.6.14 kernel After selecting CONFIG_NET_SCHED and CONFIG_NET_CLS_BASIC
> i don't see new options, the last option visible is NET_CLS_ROUTE4.

And if you select NET_CLS_ROUTE4, this should automatically select
NET_CLS_ROUTE.

Are you saying that after enabling NET_CLS_ROUTE4, the option
NET_CLS_ROUTE is not set in your .config?

> thanks,

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

2005-11-17 13:57:46

by David Gómez

[permalink] [raw]
Subject: Re: /net/sched/Kconfig broken

Hi Adrian,

On Nov 17 at 12:16:50, Adrian Bunk wrote:
> > Sorry for not giving more details. I'm using make menuconfig
> > in a 2.6.14 kernel After selecting CONFIG_NET_SCHED and CONFIG_NET_CLS_BASIC
> > i don't see new options, the last option visible is NET_CLS_ROUTE4.
>
> And if you select NET_CLS_ROUTE4, this should automatically select
> NET_CLS_ROUTE.
>
> Are you saying that after enabling NET_CLS_ROUTE4, the option
> NET_CLS_ROUTE is not set in your .config?

No, the option is set. But the changes are not visible in make menuconfig, that
is, i cannot select options that depend on NET_CLS_ROUTE.

I found out that if i select NET_CLS_ROUTE4, save my changes and exit
menuconfig, execute again make menuconfig and go to QoS options, then the new
available options are visible. So menuconfig has some problem refreshing
contents :?

thanks,

--
David Gómez Jabber ID: [email protected]

2005-11-17 15:55:30

by Roman Zippel

[permalink] [raw]
Subject: Re: /net/sched/Kconfig broken

Hi,

On Thu, 17 Nov 2005, David Gómez wrote:

> No, the option is set. But the changes are not visible in make menuconfig, that
> is, i cannot select options that depend on NET_CLS_ROUTE.
>
> I found out that if i select NET_CLS_ROUTE4, save my changes and exit
> menuconfig, execute again make menuconfig and go to QoS options, then the new
> available options are visible. So menuconfig has some problem refreshing
> contents :?

No, they were there before too, but you have to go up one level to see
them.

It's better in 2.6.15-rc1-git5, but the menu structure is still a little
messed up, the patch below properly indents all menu entries.

bye, Roman

Signed-off-by: Roman Zippel <[email protected]>

---

net/sched/Kconfig | 37 ++++++++-----------------------------
1 files changed, 8 insertions(+), 29 deletions(-)

Index: linux-2.6-mm/net/sched/Kconfig
===================================================================
--- linux-2.6-mm.orig/net/sched/Kconfig 2005-11-17 16:16:03.000000000 +0100
+++ linux-2.6-mm/net/sched/Kconfig 2005-11-17 16:29:46.000000000 +0100
@@ -40,9 +40,10 @@ config NET_SCHED
The available schedulers are listed in the following questions; you
can say Y to as many as you like. If unsure, say N now.

+if NET_SCHED
+
choice
prompt "Packet scheduler clock source"
- depends on NET_SCHED
default NET_SCH_CLK_JIFFIES
---help---
Packet schedulers need a monotonic clock that increments at a static
@@ -98,11 +99,9 @@ config NET_SCH_CLK_CPU
endchoice

comment "Queueing/Scheduling"
- depends on NET_SCHED

config NET_SCH_CBQ
tristate "Class Based Queueing (CBQ)"
- depends on NET_SCHED
---help---
Say Y here if you want to use the Class-Based Queueing (CBQ) packet
scheduling algorithm. This algorithm classifies the waiting packets
@@ -120,7 +119,6 @@ config NET_SCH_CBQ

config NET_SCH_HTB
tristate "Hierarchical Token Bucket (HTB)"
- depends on NET_SCHED
---help---
Say Y here if you want to use the Hierarchical Token Buckets (HTB)
packet scheduling algorithm. See
@@ -135,7 +133,6 @@ config NET_SCH_HTB

config NET_SCH_HFSC
tristate "Hierarchical Fair Service Curve (HFSC)"
- depends on NET_SCHED
---help---
Say Y here if you want to use the Hierarchical Fair Service Curve
(HFSC) packet scheduling algorithm.
@@ -145,7 +142,7 @@ config NET_SCH_HFSC

config NET_SCH_ATM
tristate "ATM Virtual Circuits (ATM)"
- depends on NET_SCHED && ATM
+ depends on ATM
---help---
Say Y here if you want to use the ATM pseudo-scheduler. This
provides a framework for invoking classifiers, which in turn
@@ -159,7 +156,6 @@ config NET_SCH_ATM

config NET_SCH_PRIO
tristate "Multi Band Priority Queueing (PRIO)"
- depends on NET_SCHED
---help---
Say Y here if you want to use an n-band priority queue packet
scheduler.
@@ -169,7 +165,6 @@ config NET_SCH_PRIO

config NET_SCH_RED
tristate "Random Early Detection (RED)"
- depends on NET_SCHED
---help---
Say Y here if you want to use the Random Early Detection (RED)
packet scheduling algorithm.
@@ -181,7 +176,6 @@ config NET_SCH_RED

config NET_SCH_SFQ
tristate "Stochastic Fairness Queueing (SFQ)"
- depends on NET_SCHED
---help---
Say Y here if you want to use the Stochastic Fairness Queueing (SFQ)
packet scheduling algorithm .
@@ -193,7 +187,6 @@ config NET_SCH_SFQ

config NET_SCH_TEQL
tristate "True Link Equalizer (TEQL)"
- depends on NET_SCHED
---help---
Say Y here if you want to use the True Link Equalizer (TLE) packet
scheduling algorithm. This queueing discipline allows the combination
@@ -206,7 +199,6 @@ config NET_SCH_TEQL

config NET_SCH_TBF
tristate "Token Bucket Filter (TBF)"
- depends on NET_SCHED
---help---
Say Y here if you want to use the Token Bucket Filter (TBF) packet
scheduling algorithm.
@@ -218,7 +210,6 @@ config NET_SCH_TBF

config NET_SCH_GRED
tristate "Generic Random Early Detection (GRED)"
- depends on NET_SCHED
---help---
Say Y here if you want to use the Generic Random Early Detection
(GRED) packet scheduling algorithm for some of your network devices
@@ -230,7 +221,6 @@ config NET_SCH_GRED

config NET_SCH_DSMARK
tristate "Differentiated Services marker (DSMARK)"
- depends on NET_SCHED
---help---
Say Y if you want to schedule packets according to the
Differentiated Services architecture proposed in RFC 2475.
@@ -242,7 +232,6 @@ config NET_SCH_DSMARK

config NET_SCH_NETEM
tristate "Network emulator (NETEM)"
- depends on NET_SCHED
---help---
Say Y if you want to emulate network delay, loss, and packet
re-ordering. This is often useful to simulate networks when
@@ -255,7 +244,6 @@ config NET_SCH_NETEM

config NET_SCH_INGRESS
tristate "Ingress Qdisc"
- depends on NET_SCHED
---help---
Say Y here if you want to use classifiers for incoming packets.
If unsure, say Y.
@@ -264,14 +252,12 @@ config NET_SCH_INGRESS
module will be called sch_ingress.

comment "Classification"
- depends on NET_SCHED

config NET_CLS
boolean

config NET_CLS_BASIC
tristate "Elementary classification (BASIC)"
- depends NET_SCHED
select NET_CLS
---help---
Say Y here if you want to be able to classify packets using
@@ -282,7 +268,6 @@ config NET_CLS_BASIC

config NET_CLS_TCINDEX
tristate "Traffic-Control Index (TCINDEX)"
- depends NET_SCHED
select NET_CLS
---help---
Say Y here if you want to be able to classify packets based on
@@ -294,7 +279,6 @@ config NET_CLS_TCINDEX

config NET_CLS_ROUTE4
tristate "Routing decision (ROUTE)"
- depends NET_SCHED
select NET_CLS_ROUTE
select NET_CLS
---help---
@@ -306,11 +290,9 @@ config NET_CLS_ROUTE4

config NET_CLS_ROUTE
bool
- default n

config NET_CLS_FW
tristate "Netfilter mark (FW)"
- depends NET_SCHED
select NET_CLS
---help---
If you say Y here, you will be able to classify packets
@@ -321,7 +303,6 @@ config NET_CLS_FW

config NET_CLS_U32
tristate "Universal 32bit comparisons w/ hashing (U32)"
- depends NET_SCHED
select NET_CLS
---help---
Say Y here to be able to classify packetes using a universal
@@ -345,7 +326,6 @@ config CLS_U32_MARK

config NET_CLS_RSVP
tristate "IPv4 Resource Reservation Protocol (RSVP)"
- depends on NET_SCHED
select NET_CLS
select NET_ESTIMATOR
---help---
@@ -361,7 +341,6 @@ config NET_CLS_RSVP

config NET_CLS_RSVP6
tristate "IPv6 Resource Reservation Protocol (RSVP6)"
- depends on NET_SCHED
select NET_CLS
select NET_ESTIMATOR
---help---
@@ -377,7 +356,6 @@ config NET_CLS_RSVP6

config NET_EMATCH
bool "Extended Matches"
- depends NET_SCHED
select NET_CLS
---help---
Say Y here if you want to use extended matches on top of classifiers
@@ -456,7 +434,7 @@ config NET_EMATCH_TEXT

config NET_CLS_ACT
bool "Actions"
- depends on EXPERIMENTAL && NET_SCHED
+ depends on EXPERIMENTAL
select NET_ESTIMATOR
---help---
Say Y here if you want to use traffic control actions. Actions
@@ -539,7 +517,7 @@ config NET_ACT_SIMP

config NET_CLS_POLICE
bool "Traffic Policing (obsolete)"
- depends on NET_SCHED && NET_CLS_ACT!=y
+ depends on NET_CLS_ACT!=y
select NET_ESTIMATOR
---help---
Say Y here if you want to do traffic policing, i.e. strict
@@ -549,7 +527,7 @@ config NET_CLS_POLICE

config NET_CLS_IND
bool "Incoming device classification"
- depends on NET_SCHED && (NET_CLS_U32 || NET_CLS_FW)
+ depends on NET_CLS_U32 || NET_CLS_FW
---help---
Say Y here to extend the u32 and fw classifier to support
classification based on the incoming device. This option is
@@ -557,11 +535,12 @@ config NET_CLS_IND

config NET_ESTIMATOR
bool "Rate estimator"
- depends on NET_SCHED
---help---
Say Y here to allow using rate estimators to estimate the current
rate-of-flow for network devices, queues, etc. This module is
automaticaly selected if needed but can be selected manually for
statstical purposes.

+endif # NET_SCHED
+
endmenu

2005-11-17 19:49:32

by David Gómez

[permalink] [raw]
Subject: Re: /net/sched/Kconfig broken

Hi Roman,

On Nov 17 at 04:51:51, Roman Zippel wrote:
> No, they were there before too, but you have to go up one level to see
> them.

I see them know. It was dificcult to find them...

> It's better in 2.6.15-rc1-git5, but the menu structure is still a little
> messed up, the patch below properly indents all menu entries.

Thanks for the patch, i'll apply it.

regards,

--
David Gómez Jabber ID: [email protected]

2005-11-17 23:23:01

by David Miller

[permalink] [raw]
Subject: Re: /net/sched/Kconfig broken

From: Roman Zippel <[email protected]>
Date: Thu, 17 Nov 2005 16:51:51 +0100 (CET)

> It's better in 2.6.15-rc1-git5, but the menu structure is still a little
> messed up, the patch below properly indents all menu entries.
>
> Signed-off-by: Roman Zippel <[email protected]>

Applied, thanks Roman.