1. 28 Jan, 2008 9 commits
  2. 22 Jan, 2008 1 commit
  3. 18 Jan, 2008 1 commit
  4. 07 Dec, 2007 1 commit
    • Jay Vosburgh's avatar
      bonding: Add new layer2+3 hash for xor/802.3ad modes · 6f6652be
      Jay Vosburgh authored
       	Add new hash for balance-xor and 802.3ad modes.  Originally
       submitted by "Glenn Griffin" <ggriffin.kernel@gmail.com>; modified by
       Jay Vosburgh to move setting of hash policy out of line, tweak the
       documentation update and add version update to 3.2.2.
      	Glenn's original comment follows:
      Included is a patch for a new xmit_hash_policy for the bonding driver
      that selects slaves based on MAC and IP information.  This is a middle
      ground between what currently exists in the layer2 only policy and the
      layer3+4 policy.  This policy strives to be fully 802.3ad compliant by
      transmitting every packet of any particular flow over the same link.
      As documented the layer3+4 policy is not fully compliant for extreme
      cases such as ip fragmentation, so this policy is a nice compromise
      for environments that require full compliance but desire more than the
      layer2 only policy.
      Signed-off-by: default avatar"Glenn Griffin" <ggriffin.kernel@gmail.com>
      Signed-off-by: default avatarJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
  5. 12 Nov, 2007 1 commit
  6. 07 Nov, 2007 5 commits
  7. 26 Oct, 2007 2 commits
  8. 25 Oct, 2007 1 commit
  9. 19 Oct, 2007 2 commits
  10. 17 Oct, 2007 1 commit
    • David Howells's avatar
      KEYS: Make request_key() and co fundamentally asynchronous · 76181c13
      David Howells authored
      Make request_key() and co fundamentally asynchronous to make it easier for
      NFS to make use of them.  There are now accessor functions that do
      asynchronous constructions, a wait function to wait for construction to
      complete, and a completion function for the key type to indicate completion
      of construction.
      Note that the construction queue is now gone.  Instead, keys under
      construction are linked in to the appropriate keyring in advance, and that
      anyone encountering one must wait for it to be complete before they can use
      it.  This is done automatically for userspace.
      The following auxiliary changes are also made:
       (1) Key type implementation stuff is split from linux/key.h into
       (2) AF_RXRPC provides a way to allocate null rxrpc-type keys so that AFS does
           not need to call key_instantiate_and_link() directly.
       (3) Adjust the debugging macros so that they're -Wformat checked even if
           they are disabled, and make it so they can be enabled simply by defining
           __KDEBUG to be consistent with other code of mine.
       (3) Documentation.
      [alan@lxorguk.ukuu.org.uk: keys: missing word in documentation]
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarAlan Cox <alan@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
  11. 15 Oct, 2007 2 commits
  12. 10 Oct, 2007 12 commits
    • Gerrit Renker's avatar
      [DCCP]: Correct documentation · 2bfd754d
      Gerrit Renker authored
      This corrects erroneous documentation of the socket API.
      Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
      Signed-off-by: default avatarIan McDonald <ian.mcdonald@jandi.co.nz>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Gerrit Renker's avatar
      [DCCP]: Update API documentation · 126acd5b
      Gerrit Renker authored
      This adds documentation on the use of service codes on client and
      Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
      Signed-off-by: default avatarIan McDonald <ian.mcdonald@jandi.co.nz>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Gerrit Renker's avatar
      [DCCP]: Add socket option to query the current MPS · 7c559a9e
      Gerrit Renker authored
      This enables applications to query the current value of the Maximum
      Packet Size via a socket option, suggested as a SHOULD in (RFC 4340,
      p. 102).
      This socket option is useful to avoid the annoying bail-out via
      `-EMSGSIZE'.  In particular, as fragmentation is not currently
      supported (and its use is partly discouraged in RFC 4340).
      With this option, it is possible to size buffers accordingly, e.g.
      	int buflen = dccp_get_cur_mps(sockfd);
      	/* or */
      	if (msgsize > dccp_get_cur_mps(sockfd))
      		die("message is too large for this path");
      Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
      Signed-off-by: default avatarIan McDonald <ian.mcdonald@jandi.co.nz>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Johannes Berg's avatar
      [MAC80211]: improve radiotap injection · 58d4185e
      Johannes Berg authored
      This improves radiotap injection by removing the shortcut over TX handlers
      that led to BUGS when injecting frames without setting a rate and also
      resulted in various other quirks. Now, TX handlers are run but some
      information that was present in the radiotap header is used instead of
      automatic settings.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Cc: Andy Green <andy@warmcat.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    • Nathanael Nerode's avatar
      dgrs: remove from build, config, and maintainer list · c7e86e34
      Nathanael Nerode authored
      Stop building and configuring driver for Digi RightSwitch, which was
      never actually sold to anyone, and remove it from MAINTAINERS.
      In response to an investigation into the firmware of the "Digi Rightswitch"
      driver, Andres Salomon discovered:
      > Dear Andres:
      > After further research, we found that this product was killed in place
      > and never reached the market.  We would like to request that this not be
      > included.
      Since the product never reached market, clearly nobody is using this orphaned
      Signed-off-by: default avatarNathanael Nerode <neroden@gcc.gnu.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jeff Garzik <jeff@garzik.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
    • Gerrit Renker's avatar
      [DCCP]: Rate-limit DCCP-Syncs · a94f0f97
      Gerrit Renker authored
      This implements a SHOULD from RFC 4340, 7.5.4:
       "To protect against denial-of-service attacks, DCCP implementations SHOULD
        impose a rate limit on DCCP-Syncs sent in response to sequence-invalid packets,
        such as not more than eight DCCP-Syncs per second."
      The rate-limit is maintained on a per-socket basis. This is a more stringent
      policy than enforcing the rate-limit on a per-source-address basis and
      protects against attacks with forged source addresses.
      Moreover, the mechanism is deliberately kept simple. In contrast to
      xrlim_allow(), bursts of Sync packets in reply to sequence-invalid packets
      are not supported.  This foils such attacks where the receipt of a Sync
      triggers further sequence-invalid packets. (I have tested this mechanism against
      xrlim_allow algorithm for Syncs, permitting bursts just increases the problems.)
      In order to keep flexibility, the timeout parameter can be set via sysctl; and
      the whole mechanism can even be disabled (which is however not recommended).
      The algorithm in this patch has been improved with regard to wrapping issues
      thanks to a suggestion by Arnaldo.
      Commiter note: Rate limited the step 6 DCCP_WARN too, as it says we're
                     sending a sync.
      Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
      Signed-off-by: default avatarIan McDonald <ian.mcdonald@jandi.co.nz>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@ghostprotocols.net>
    • Christian Borntraeger's avatar
      [NET]: note that NETIF_F_LLTX is deprecated · e24eb521
      Christian Borntraeger authored
      Am Freitag, 21. September 2007 schrieb Herbert Xu:
      > Please don't use LLTX in new drivers.  We're trying to get rid
      > of it since it's
      > 1) unnecessary;
      > 2) causes problems with AF_PACKET seeing things twice.
      I suggest to document that LLTX is deprecated.
      Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
      Acked-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Ilpo Järvinen's avatar
      [TCP] FRTO: Update sysctl documentation · cd99889c
      Ilpo Järvinen authored
      Since the SACK enhanced FRTO was added, the code has been
      under test numerous times so remove "experimental" claim
      from the documentation. Also be a bit more verbose about
      the usage.
      Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@helsinki.fi>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Satyam Sharma's avatar
      [NET] netconsole: Support dynamic reconfiguration using configfs · 0bcc1816
      Satyam Sharma authored
      Based upon initial work by Keiichi Kii <k-keiichi@bx.jp.nec.com>.
      This patch introduces support for dynamic reconfiguration (adding, removing
      and/or modifying parameters of netconsole targets at runtime) using a
      userspace interface exported via configfs.  Documentation is also updated
      Issues and brief design overview:
      (1) Kernel-initiated creation / destruction of kernel objects is not
          possible with configfs -- the lifetimes of the "config items" is managed
          exclusively from userspace.  But netconsole must support boot/module
          params too, and these are parsed in kernel and hence netpolls must be
          setup from the kernel.  Joel Becker suggested to separately manage the
          lifetimes of the two kinds of netconsole_target objects -- those created
          via configfs mkdir(2) from userspace and those specified from the
          boot/module option string.  This adds complexity and some redundancy here
          and also means that boot/module param-created targets are not exposed
          through the configfs namespace (and hence cannot be updated / destroyed
          dynamically).  However, this saves us from locking / refcounting
          complexities that would need to be introduced in configfs to support
          kernel-initiated item creation / destroy there.
      (2) In configfs, item creation takes place in the call chain of the
          mkdir(2) syscall in the driver subsystem.  If we used an ioctl(2) to
          create / destroy objects from userspace, the special userspace program is
          able to fill out the structure to be passed into the ioctl and hence
          specify attributes such as local interface that are required at the time
          we set up the netpoll.  For configfs, this information is not available at
          the time of mkdir(2).  So, we keep all newly-created targets (via
          configfs) disabled by default.  The user is expected to set various
          attributes appropriately (including the local network interface if
          required) and then write(2) "1" to the "enabled" attribute.  Thus,
          netpoll_setup() is then called on the set parameters in the context of
          _this_ write(2) on the "enabled" attribute itself.  This design enables
          the user to reconfigure existing netconsole targets at runtime to be
          attached to newly-come-up interfaces that may not have existed when
          netconsole was loaded or when the targets were actually created.  All this
          effectively enables us to get rid of custom ioctls.
      (3) Ultra-paranoid configfs attribute show() and store() operations, with
          sanity and input range checking, using only safe string primitives, and
          compliant with the recommendations in Documentation/filesystems/sysfs.txt.
      (4) A new function netpoll_print_options() is created in the netpoll API,
          that just prints out the configured parameters for a netpoll structure.
          netpoll_parse_options() is modified to use that and it is also exported to
          be used from netconsole.
      Signed-off-by: default avatarSatyam Sharma <satyam@infradead.org>
      Acked-by: default avatarKeiichi Kii <k-keiichi@bx.jp.nec.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Satyam Sharma's avatar
      [NET] netconsole: Support multiple logging targets · b5427c27
      Satyam Sharma authored
      Based upon initial work by Keiichi Kii <k-keiichi@bx.jp.nec.com>.
      This patch introduces support for multiple targets, independent of
      CONFIG_NETCONSOLE_DYNAMIC -- this is useful even in the default case and
      (including the infrastructure introduced in previous patches) doesn't really
      add too many bytes to module text.  All the complexity (and size) comes with
      the dynamic reconfigurability / userspace interface patch, and so it's
      plausible users may want to keep this enabled but that disabled (say to avoid
      a dependency on CONFIG_CONFIGFS_FS too).
      Also update documentation to mention the use of ";" separator to specify
      multiple logging targets in the boot/module option string.
      Brief overview:
      We maintain a target_list (and corresponding lock).  Get rid of the static
      "default_target" and introduce allocation and release functions for our
      netconsole_target objects (but keeping sure to preserve previous behaviour
      such as default values).  During init_netconsole(), ";" is used as the
      separator to identify multiple target specifications in the boot/module option
      string.  The target specifications are parsed and netpolls setup.  During
      exit, the target_list is torn down and all items released.
      Signed-off-by: default avatarSatyam Sharma <satyam@infradead.org>
      Signed-off-by: default avatarKeiichi Kii <k-keiichi@bx.jp.nec.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Satyam Sharma's avatar
      [NET] netconsole: Add some useful tips to documentation · 8d4ef88b
      Satyam Sharma authored
      Based upon initial work by Keiichi Kii <k-keiichi@bx.jp.nec.com>.
      Add some useful general-purpose tips.  Also suggest solution for the frequent
      problem of console loglevel set too low numerically (i.e.  for high priority
      messages only) on the sender.
      Signed-off-by: default avatarSatyam Sharma <satyam@infradead.org>
      Acked-by: default avatarKeiichi Kii <k-keiichi@bx.jp.nec.com>
      Acked-by: default avatarMatt Mackall <mpm@selenic.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Stephen Hemminger's avatar
      [NET]: Make NAPI polling independent of struct net_device objects. · bea3348e
      Stephen Hemminger authored
      Several devices have multiple independant RX queues per net
      device, and some have a single interrupt doorbell for several
      In either case, it's easier to support layouts like that if the
      structure representing the poll is independant from the net
      device itself.
      The signature of the ->poll() call back goes from:
      	int foo_poll(struct net_device *dev, int *budget)
      	int foo_poll(struct napi_struct *napi, int budget)
      The caller is returned the number of RX packets processed (or
      the number of "NAPI credits" consumed if you want to get
      abstract).  The callee no longer messes around bumping
      dev->quota, *budget, etc. because that is all handled in the
      caller upon return.
      The napi_struct is to be embedded in the device driver private data
      Furthermore, it is the driver's responsibility to disable all NAPI
      instances in it's ->stop() device close handler.  Since the
      napi_struct is privatized into the driver's private data structures,
      only the driver knows how to get at all of the napi_struct instances
      it may have per-device.
      With lots of help and suggestions from Rusty Russell, Roland Dreier,
      Michael Chan, Jeff Garzik, and Jamal Hadi Salim.
      Bug fixes from Thomas Graf, Roland Dreier, Peter Zijlstra,
      Joseph Fannin, Scott Wood, Hans J. Koch, and Michael Chan.
      [ Ported to current tree and all drivers converted.  Integrated
        Stephen's follow-on kerneldoc additions, and restored poll_list
        handling to the old style to fix mutual exclusion issues.  -DaveM ]
      Signed-off-by: default avatarStephen Hemminger <shemminger@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  13. 15 Sep, 2007 1 commit
  14. 11 Sep, 2007 1 commit