aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* [PKT_SCHED]: GRED: Support ECN markingThomas Graf2005-11-05
| | | | | | | | | Adds a new u8 flags in a unused padding area of the netlink message. Adds ECN marking support to be used instead of dropping packets immediately. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: GRED: Fix restart of idle period in WRED mode upon dequeue and dropThomas Graf2005-11-05
| | | | | Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: GRED: Cleanup and remove unnecessary codeThomas Graf2005-11-05
| | | | | | | | Removes unnecessary includes, initializers, and simplifies the code a bit. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: GRED: Remove auto-creation of default VQThomas Graf2005-11-05
| | | | | | | | | | | Since we are no longer depending on the default VQ to be always allocated we can leave it up to the user to actually create it. This gives the user the ability to leave it out on purpose and enqueue packets directly to the device without applying the RED algorithm. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: GRED: Dont abuse default VQ for equalizingThomas Graf2005-11-05
| | | | | | | | | | | | | | Introduces a new red parameter set for use in equalize mode, although only the qavg variable and the idle period marker are being used for now this makes it possible to allow a separate parameter set to be used for equalize later on. The use of this separate parameter set fixes a bogus start of an idle period in gred_drop() which did start an idle period on the default VQ even if equalize mode was disabled. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: GRED: Remove initd flagThomas Graf2005-11-05
| | | | | | | | The case when the default VQ is not set up yet is already handled in a less error prone way. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: GRED: Improve error handling and messagesThomas Graf2005-11-05
| | | | | | | | | | | | Try to enqueue packets if we cannot associate it with a VQ, this basically means that the default VQ has not been set up yet. We must check if the VQ still exists while requeueing, the VQ might have been changed between dequeue and the requeue of the underlying qdisc. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: GRED: Introduce tc_index_to_dp()Thomas Graf2005-11-05
| | | | | | | | Adds a transformation function returning the DP index for a given skb according to its tc_index. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: GRED: Use generic queue management interfaceThomas Graf2005-11-05
| | | | | Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: GRED: Report congestion related drops as NET_XMIT_CNThomas Graf2005-11-05
| | | | | Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: GRED: Do not reset statistics in gred_reset/gred_changeThomas Graf2005-11-05
| | | | | | | | | | Qdiscs are not supposed to reset statistics in reset() and while changing parameters. My argumentation is that if the user wants the counters to be reset he can simply remove and readd the qdiscs, that's what most users do anyway. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: GRED: Use new generic red interfaceThomas Graf2005-11-05
| | | | | | | | | | | | | | Simplifies code a lot by separating the red algorithm and the queueing logic. We now differentiate between probability marks and forced marks but sum them together again to not break backwards compatibility. This brings GRED back to the level of RED and improves the accuracy of the averge queue length calculations when stab suggests a zero shift. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: GRED: Use central VQ change procedureThomas Graf2005-11-05
| | | | | | | | | Introduces a function gred_change_vq() acting as a central point to change VQ parameters. Fixes priority inheritance in rio mode when the default DP equals 0. Adds proper locking during changes. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: GRED: Report out-of-bound DPs as illegalThomas Graf2005-11-05
| | | | | Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: GRED: Use a central table definition change procedureThomas Graf2005-11-05
| | | | | | | | | | | | | | | | | Introduces a function gred_change_table_def() acting as a central point to change the table definition. Adds missing validations for table definition: MAX_DPs > DPs > 0 and def_DP < DPs thus fixing possible invalid memory reference oopses. Only root could do it but having a typo crashing the machine is a bit hard. Adds missing locking while changing the table definition, the operation of changing the number of DPs and removing shadowed VQs may not be interrupted by a dequeue. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: GRED: Dump table definitionThomas Graf2005-11-05
| | | | | Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: GRED: Cleanup dumpingThomas Graf2005-11-05
| | | | | | | | | Avoids the allocation of a buffer by appending the VQs directly to the skb and simplifies the code by using the appropriate message construction macros. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: GRED: Transform grio to GRED_RIO_MODEThomas Graf2005-11-05
| | | | | Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: GRED: Cleanup equalize flag and add new WRED mode detectionThomas Graf2005-11-05
| | | | | | | | | | | | | | | | | Introduces a flags variable using bitops and transforms eqp to use it. Converts the conditions of the form (wred && rio) to (wred) since wred can only be enabled in rio mode anyway. The patch also improves WRED mode detection. The current behaviour does not allow WRED mode to be turned off again without removing the whole qdisc first. The new algorithm checks each VQ against each other looking for equal priorities every time a VQ is changed or added. The performance is poor, O(n**2), but it's used only during administrative tasks and the number of VQs is strictly limited. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: RED: Cleanup and remove unnecessary codeThomas Graf2005-11-05
| | | | | | | | | | Removes the skb trimming code which is not needed since we never touch the skb upon failure. Removes unnecessary includes, initializers, and simplifies the code a bit. Removes Jamal's obsolete email addresses upon his own request. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: RED: Dont start idle periods while already idlingThomas Graf2005-11-05
| | | | | | | We should not interrupt and restart an idle period while idling already. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: RED: Use generic queue management interfaceThomas Graf2005-11-05
| | | | | Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: RED: Use new generic red interfaceThomas Graf2005-11-05
| | | | | | | | | | Simplifies code a lot by separating the red algorithm and the queueing logic. We now differentiate between probability marks and forced marks but sum them together again to not break backwards compatibility. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [NET]: Introduce INET_ECN_set_ce() functionThomas Graf2005-11-05
| | | | | | | | | | | | Changes IP_ECN_set_ce() and IP6_ECN_set_ce() to return 0 if the CE bits could not bet set because none of the ECT bits are set or 1 if the CE bits are already set or have been successfully set. Introduces INET_ECN_set_ce(skb) to enable CE bits for all supported protocols. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [PKT_SCHED]: Generic RED layerThomas Graf2005-11-05
| | | | | | | | | | | Extracts the RED algorithm from sch_red.c and puts it into include/net/red.h for use by other RED based modules. The statistics are extended to be more fine grained in order to differ between probability/forced marks/drops. We now reset the average queue length when setting new parameters, leaving it might result in an unreasonable qavg for a while depending on the value of W. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [NETFILTER] nf_queue: Fix Ooops when no queue handler registeredHarald Welte2005-11-05
| | | | | | | | | With the new nf_queue generalization in 2.6.14, we've introduced a bug that causes an oops as soon as a packet is queued but no queue handler registered. This patch fixes it. Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [NETFILTER]: CONNMARK target needs ip_conntrackHarald Welte2005-11-05
| | | | | | | | There's a missing dependency from the CONNMARK target to ip_conntrack. Signed-off-by: Pablo Neira Ayuso <pablo@eurodev.net> Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [NETFILTER] nfnetlink: Use kzallocHarald Welte2005-11-05
| | | | | | | | These is a cleanup patch, kzalloc can be used in a couple of cases Signed-off-by: Samir Bellabes <sbellabes@mandriva.com> Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [NETFILTER]: Fix double free after netlink_unicast() in ctnetlinkHarald Welte2005-11-05
| | | | | | | | It's not necessary to free skb if netlink_unicast() failed. Signed-off-by: Yasuyuki Kozakai <yasuyuki.kozakai@toshiba.co.jp> Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [NETFILTER] NAT: Fix module refcount dropping too farHarald Welte2005-11-04
| | | | | | | | | | | | | The unknown protocol is used as a fallback when a protocol isn't known. Hence we cannot handle it failing, so don't set ".me". It's OK, since we only grab a reference from within the same module (iptable_nat.ko), so we never take the module refcount from 0 to 1. Also, remove the "protocol is NULL" test: it's never NULL. Signed-off-by: Rusty Rusty <rusty@rustcorp.com.au> Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [NETFILTER] PPTP helper: Fix endianness bug in GRE key / CallID NATHarald Welte2005-11-04
| | | | | | | | | | | This endianness bug slipped through while changing the 'gre.key' field in the conntrack tuple from 32bit to 16bit. None of my tests caught the problem, since the linux pptp client always has '0' as call id / gre key. Only windows clients actually trigger the bug. Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* [NETFILTER] PPTP helper: Fix compilation of conntrack helper without NATHarald Welte2005-11-04
| | | | | | | | | This patch fixes compilation of the PPTP conntrack helper when NAT is configured off. Signed-off-by: Yasuyuki Kozakai <yasuyuki.kozakai@toshiba.co.jp> Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
* NFS,SUNRPC,NLM: fix unused variable warnings when CONFIG_SYSCTL is disabledChuck Lever2005-11-04
| | | | | | | | | | | Fix some dprintk's so that NLM, NFS client, and RPC client compile cleanly if CONFIG_SYSCTL is disabled. Test plan: Compile kernel with CONFIG_NFS enabled and CONFIG_SYSCTL disabled. Signed-off-by: Chuck Lever <cel@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
* SUNRPC: allow sunrpc.o to link when CONFIG_SYSCTL is disabledChuck Lever2005-11-04
| | | | | | | | | | | | | | The sunrpc module should build properly even when CONFIG_SYSCTL is disabled. Reported by Jan-Benedict Glaw. Test plan: Compile kernel with CONFIG_NFS as a module and built-in, and CONFIG_SYSCTL enabled and disabled. Signed-off-by: Chuck Lever <cel@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
* NFSv4: Teach NFSv4 to cache locks when we hold a delegationTrond Myklebust2005-11-04
| | | | | | | Now that we have a method of dealing with delegation recalls, actually enable the caching of posix and BSD locks. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
* NFSv4: Recover locks too when returning a delegationTrond Myklebust2005-11-04
| | | | | | | | | | Delegations allow us to cache posix and BSD locks, however when the delegation is recalled, we need to "flush the cache" and send the cached LOCK requests to the server. This patch sets up the mechanism for doing so. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
* NFSv4: Fix recovery of flock() locks.Trond Myklebust2005-11-04
| | | | Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
* NFSv4: Return any delegations before sillyrenaming the fileTrond Myklebust2005-11-04
| | | | | | | | I missed this one... Any form of rename will result in a delegation recall, so it is more efficient to return the one we hold before trying the rename. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
* NFSv4: Fix the handling of the error NFS4ERR_OLD_STATEIDTrond Myklebust2005-11-04
| | | | | | Ensure that we retry the failed operation... Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
* NFSv4: Fix problem with OPEN_DOWNGRADETrond Myklebust2005-11-04
| | | | | | | | | | | | | | | | | RFC 3530 states that for OPEN_DOWNGRADE "The share_access and share_deny bits specified must be exactly equal to the union of the share_access and share_deny bits specified for some subset of the OPENs in effect for current openowner on the current file. Setattr is currently violating the NFSv4 rules for OPEN_DOWNGRADE in that it may cause a downgrade from OPEN4_SHARE_ACCESS_BOTH to OPEN4_SHARE_ACCESS_WRITE despite the fact that there exists no open file with O_WRONLY access mode. Fix the problem by replacing nfs4_find_state() with a modified version of nfs_find_open_context(). Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
* NFSv4: Fix a race between open() and close()Trond Myklebust2005-11-04
| | | | | | | We must not remove the nfs4_state structure from the inode open lists before we are in sequence lock. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
* [USB]: Make early handoff a final fixup instead of a header one.David S. Miller2005-11-04
| | | | | | | | At header fixup time, it is not yet legal to ioremap() PCI device registers, yet that is what this quirk code needs to do. Signed-off-by: David S. Miller <davem@davemloft.net>
* [PATCH] improve scheduler fairness a bitOleg Nesterov2005-11-04
| | | | | | | | Do not transfer remaining time slice to another cpu on process exit. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge master.kernel.org:/home/rmk/linux-2.6-serialLinus Torvalds2005-11-04
|\
| * [SERIAL] 8250_early.c passing 0 instead of NULLBen Dooks2005-11-03
| | | | | | | | | | | | | | Fix sparse warning about passing `0` to simple_strtoul() Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2005-11-04
|\ \
| * | [PATCH] ARM: Reverted 2918/1: [update] Base port of Comdial MP1000 platfromRussell King2005-11-04
| | | | | | | | | | | | No longer maintained
| * | [PATCH] ARM: Reverted 2921/1: Support for the RTC / nvram on the Comdial MP1000Russell King2005-11-04
| | | | | | | | | | | | No longer maintained
| * | [PATCH] ARM: Reverted 2919/1: CS8900A ethernet driver modifications for the ↵Russell King2005-11-04
| | | | | | | | | | | | | | | | | | Comdial MP1000 No longer maintained
| * | [ARM] 3097/1: change library link orderingNicolas Pitre2005-11-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Nicolas Pitre We have an optimized sha1 routine (arch/arm/lib/sha1.S) meant to override the generic one in lib/sha1.c. Unfortunately lib/lib.a is listed _before_ arch/arm/lib/lib.a in the link argument list and therefore the architecture specific lib functions are not picked up before the generic versions. This patch is a quick fix to change that ordering for ARM. Here's what the kbuild maintainer had to say about it (was also CC'd on lkml): On Wed, 2 Nov 2005, Sam Ravnborg wrote: > This looks like an obvious way to achive correct ordering. > We could change it so arch defines always took precedence but > the above is so simple that it is not worth the effort. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>