1. 21 10月, 2010 1 次提交
    • Y
      ceph: factor out libceph from Ceph file system · 3d14c5d2
      Yehuda Sadeh 提交于
      This factors out protocol and low-level storage parts of ceph into a
      separate libceph module living in net/ceph and include/linux/ceph.  This
      is mostly a matter of moving files around.  However, a few key pieces
      of the interface change as well:
      
       - ceph_client becomes ceph_fs_client and ceph_client, where the latter
         captures the mon and osd clients, and the fs_client gets the mds client
         and file system specific pieces.
       - Mount option parsing and debugfs setup is correspondingly broken into
         two pieces.
       - The mon client gets a generic handler callback for otherwise unknown
         messages (mds map, in this case).
       - The basic supported/required feature bits can be expanded (and are by
         ceph_fs_client).
      
      No functional change, aside from some subtle error handling cases that got
      cleaned up in the refactoring process.
      Signed-off-by: NSage Weil <sage@newdream.net>
      3d14c5d2
  2. 15 9月, 2010 1 次提交
  3. 06 8月, 2010 1 次提交
    • W
      DNS: Separate out CIFS DNS Resolver code · 1a4240f4
      Wang Lei 提交于
      Separate out the DNS resolver key type from the CIFS filesystem into its own
      module so that it can be made available for general use, including the AFS
      filesystem module.
      
      This facility makes it possible for the kernel to upcall to userspace to have
      it issue DNS requests, package up the replies and present them to the kernel
      in a useful form.  The kernel is then able to cache the DNS replies as keys
      can be retained in keyrings.
      
      Resolver keys are of type "dns_resolver" and have a case-insensitive
      description that is of the form "[<type>:]<domain_name>".  The optional <type>
      indicates the particular DNS lookup and packaging that's required.  The
      <domain_name> is the query to be made.
      
      If <type> isn't given, a basic hostname to IP address lookup is made, and the
      result is stored in the key in the form of a printable string consisting of a
      comma-separated list of IPv4 and IPv6 addresses.
      
      This key type is supported by userspace helpers driven from /sbin/request-key
      and configured through /etc/request-key.conf.  The cifs.upcall utility is
      invoked for UNC path server name to IP address resolution.
      
      The CIFS functionality is encapsulated by the dns_resolve_unc_to_ip() function,
      which is used to resolve a UNC path to an IP address for CIFS filesystem.  This
      part remains in the CIFS module for now.
      
      See the added Documentation/networking/dns_resolver.txt for more information.
      Signed-off-by: NWang Lei <wang840925@gmail.com>
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Acked-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NSteve French <sfrench@us.ibm.com>
      1a4240f4
  4. 27 7月, 2010 1 次提交
  5. 19 7月, 2010 1 次提交
    • R
      net: support time stamping in phy devices. · c1f19b51
      Richard Cochran 提交于
      This patch adds a new networking option to allow hardware time stamps
      from PHY devices. When enabled, likely candidates among incoming and
      outgoing network packets are offered to the PHY driver for possible
      time stamping. When accepted by the PHY driver, incoming packets are
      deferred for later delivery by the driver.
      
      The patch also adds phylib driver methods for the SIOCSHWTSTAMP ioctl
      and callbacks for transmit and receive time stamping. Drivers may
      optionally implement these functions.
      Signed-off-by: NRichard Cochran <richard.cochran@omicron.at>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c1f19b51
  6. 22 5月, 2010 2 次提交
    • E
      net/sysfs: Fix the bitrot in network device kobject namespace support · d6523ddf
      Eric W. Biederman 提交于
      I had a couple of stupid bugs in:
      netns: Teach network device kobjects which namespace they are in.
      
      - I duplicated the Kconfig for the NET_NS
      - The build was broken when sysfs was not compiled in
      
      The sysfs breakage is because after I moved the operations
      for the sysfs to the kobject layer, to make things cleaner
      I forgot to move the ifdefs.  Opps.
      
      I'm not quite certain how I got introduced a second NET_NS Kconfig,
      but it was probably a 3 way merge somewhere along the way that
      did not notice that the NET_NS Kconfig option had mvoed and thout
      that was a bug.  It probably slipped in because it used to be the
      sysfs patches were the first patches in my network namespace patches.
      Some things just don't go like you would expect.
      
      Neither of these bugs actually affect anything in the common case
      but they should be fixed.
      
      Thanks to Serge for noticing they were present.
      Reported-by: NSerge E. Hallyn <serue@us.ibm.com>
      Signed-off-by: NEric W. Biederman <ebiederm@aristanetworks.com>
      Acked-by: NDavid S. Miller <davem@davemloft.net>
      
      d6523ddf
    • E
      netns: Teach network device kobjects which namespace they are in. · 608b4b95
      Eric W. Biederman 提交于
      The problem.  Network devices show up in sysfs and with the network
      namespace active multiple devices with the same name can show up in
      the same directory, ouch!
      
      To avoid that problem and allow existing applications in network namespaces
      to see the same interface that is currently presented in sysfs, this
      patch enables the tagging directory support in sysfs.
      
      By using the network namespace pointers as tags to separate out the
      the sysfs directory entries we ensure that we don't have conflicts
      in the directories and applications only see a limited set of
      the network devices.
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Acked-by: NDavid S. Miller <davem@davemloft.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      608b4b95
  7. 04 4月, 2010 1 次提交
    • J
      l2tp: Split pppol2tp patch into separate l2tp and ppp parts · fd558d18
      James Chapman 提交于
      This patch splits the pppol2tp driver into separate L2TP and PPP parts
      to prepare for L2TPv3 support. In L2TPv3, protocols other than PPP can
      be carried, so this split creates a common L2TP core that will handle
      the common L2TP bits which protocol support modules such as PPP will
      use.
      
      Note that the existing pppol2tp module is split into l2tp_core and
      l2tp_ppp by this change.
      
      There are no feature changes here. Internally, however, there are
      significant changes, mostly to handle the separation of PPP-specific
      data from the L2TP session and to provide hooks in the core for
      modules like PPP to access.
      Signed-off-by: NJames Chapman <jchapman@katalix.com>
      Reviewed-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fd558d18
  8. 31 3月, 2010 1 次提交
  9. 26 3月, 2010 1 次提交
  10. 15 7月, 2009 1 次提交
    • J
      net/compat/wext: send different messages to compat tasks · 1dacc76d
      Johannes Berg 提交于
      Wireless extensions have the unfortunate problem that events
      are multicast netlink messages, and are not independent of
      pointer size. Thus, currently 32-bit tasks on 64-bit platforms
      cannot properly receive events and fail with all kinds of
      strange problems, for instance wpa_supplicant never notices
      disassociations, due to the way the 64-bit event looks (to a
      32-bit process), the fact that the address is all zeroes is
      lost, it thinks instead it is 00:00:00:00:01:00.
      
      The same problem existed with the ioctls, until David Miller
      fixed those some time ago in an heroic effort.
      
      A different problem caused by this is that we cannot send the
      ASSOCREQIE/ASSOCRESPIE events because sending them causes a
      32-bit wpa_supplicant on a 64-bit system to overwrite its
      internal information, which is worse than it not getting the
      information at all -- so we currently resort to sending a
      custom string event that it then parses. This, however, has a
      severe size limitation we are frequently hitting with modern
      access points; this limitation would can be lifted after this
      patch by sending the correct binary, not custom, event.
      
      A similar problem apparently happens for some other netlink
      users on x86_64 with 32-bit tasks due to the alignment for
      64-bit quantities.
      
      In order to fix these problems, I have implemented a way to
      send compat messages to tasks. When sending an event, we send
      the non-compat event data together with a compat event data in
      skb_shinfo(main_skb)->frag_list. Then, when the event is read
      from the socket, the netlink code makes sure to pass out only
      the skb that is compatible with the task. This approach was
      suggested by David Miller, my original approach required
      always sending two skbs but that had various small problems.
      
      To determine whether compat is needed or not, I have used the
      MSG_CMSG_COMPAT flag, and adjusted the call path for recv and
      recvfrom to include it, even if those calls do not have a cmsg
      parameter.
      
      I have not solved one small part of the problem, and I don't
      think it is necessary to: if a 32-bit application uses read()
      rather than any form of recvmsg() it will still get the wrong
      (64-bit) event. However, neither do applications actually do
      this, nor would it be a regression.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1dacc76d
  11. 09 6月, 2009 1 次提交
    • S
      net: add IEEE 802.15.4 socket family implementation · 9ec76716
      Sergey Lapin 提交于
      Add support for communication over IEEE 802.15.4 networks. This implementation
      is neither certified nor complete, but aims to that goal. This commit contains
      only the socket interface for communication over IEEE 802.15.4 networks.
      One can either send RAW datagrams or use SOCK_DGRAM to encapsulate data
      inside normal IEEE 802.15.4 packets.
      
      Configuration interface, drivers and software MAC 802.15.4 implementation will
      follow.
      
      Initial implementation was done by Maxim Gorbachyov, Maxim Osipov and Pavel
      Smolensky as a research project at Siemens AG. Later the stack was heavily
      reworked to better suit the linux networking model, and is now maitained
      as an open project partially sponsored by Siemens.
      Signed-off-by: NDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
      Signed-off-by: NSergey Lapin <slapin@ossfans.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9ec76716
  12. 08 5月, 2009 1 次提交
  13. 30 3月, 2009 1 次提交
  14. 22 3月, 2009 1 次提交
  15. 14 3月, 2009 1 次提交
  16. 04 3月, 2009 1 次提交
  17. 27 2月, 2009 1 次提交
  18. 27 1月, 2009 2 次提交
  19. 08 1月, 2009 1 次提交
  20. 22 11月, 2008 1 次提交
  21. 21 11月, 2008 1 次提交
  22. 20 11月, 2008 1 次提交
    • S
      netdev: network device operations infrastructure · d314774c
      Stephen Hemminger 提交于
      This patch changes the network device internal API to move adminstrative
      operations out of the network device structure and into a separate structure.
      
      This patch involves some hackery to maintain compatablity between the
      new and old model, so all 300+ drivers don't have to be changed at once.
      For drivers that aren't converted yet, the netdevice_ops virt function list
      still resides in the net_device structure. For old protocols, the new
      net_device_ops are copied out to the old net_device pointers.
      
      After the transistion is completed the nag message can be changed to
      an WARN_ON, and the compatiablity code can be made configurable.
      
      Some function pointers aren't moved:
      * destructor can't be in net_device_ops because
        it may need to be referenced after the module is unloaded.
      * neighbor setup is manipulated in a couple of places that need special
        consideration
      * hard_start_xmit is in the fast path for transmit.
      Signed-off-by: NStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d314774c
  23. 28 10月, 2008 1 次提交
  24. 09 10月, 2008 1 次提交
    • L
      net: Distributed Switch Architecture protocol support · 91da11f8
      Lennert Buytenhek 提交于
      Distributed Switch Architecture is a protocol for managing hardware
      switch chips.  It consists of a set of MII management registers and
      commands to configure the switch, and an ethernet header format to
      signal which of the ports of the switch a packet was received from
      or is intended to be sent to.
      
      The switches that this driver supports are typically embedded in
      access points and routers, and a typical setup with a DSA switch
      looks something like this:
      
      	+-----------+       +-----------+
      	|           | RGMII |           |
      	|           +-------+           +------ 1000baseT MDI ("WAN")
      	|           |       |  6-port   +------ 1000baseT MDI ("LAN1")
      	|    CPU    |       |  ethernet +------ 1000baseT MDI ("LAN2")
      	|           |MIImgmt|  switch   +------ 1000baseT MDI ("LAN3")
      	|           +-------+  w/5 PHYs +------ 1000baseT MDI ("LAN4")
      	|           |       |           |
      	+-----------+       +-----------+
      
      The switch driver presents each port on the switch as a separate
      network interface to Linux, polls the switch to maintain software
      link state of those ports, forwards MII management interface
      accesses to those network interfaces (e.g. as done by ethtool) to
      the switch, and exposes the switch's hardware statistics counters
      via the appropriate Linux kernel interfaces.
      
      This initial patch supports the MII management interface register
      layout of the Marvell 88E6123, 88E6161 and 88E6165 switch chips, and
      supports the "Ethertype DSA" packet tagging format.
      
      (There is no officially registered ethertype for the Ethertype DSA
      packet format, so we just grab a random one.  The ethertype to use
      is programmed into the switch, and the switch driver uses the value
      of ETH_P_EDSA for this, so this define can be changed at any time in
      the future if the one we chose is allocated to another protocol or
      if Ethertype DSA gets its own officially registered ethertype, and
      everything will continue to work.)
      Signed-off-by: NLennert Buytenhek <buytenh@marvell.com>
      Tested-by: NNicolas Pitre <nico@marvell.com>
      Tested-by: NByron Bradley <byron.bbradley@gmail.com>
      Tested-by: NTim Ellis <tim.ellis@mac.com>
      Tested-by: NPeter van Valderen <linux@ddcrew.com>
      Tested-by: NDirk Teurlings <dirk@upexia.nl>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      91da11f8
  25. 23 9月, 2008 1 次提交
  26. 23 8月, 2008 1 次提交
  27. 30 7月, 2008 1 次提交
  28. 06 7月, 2008 1 次提交
  29. 04 3月, 2008 1 次提交
  30. 09 2月, 2008 1 次提交
  31. 29 1月, 2008 2 次提交
  32. 11 10月, 2007 1 次提交
    • E
      [NET]: Add network namespace clone & unshare support. · 9dd776b6
      Eric W. Biederman 提交于
      This patch allows you to create a new network namespace
      using sys_clone, or sys_unshare.
      
      As the network namespace is still experimental and under development
      clone and unshare support is only made available when CONFIG_NET_NS is
      selected at compile time.
      
      As this patch introduces network namespace support into code paths
      that exist when the CONFIG_NET is not selected there are a few
      additions made to net_namespace.h to allow a few more functions
      to be used when the networking stack is not compiled in.
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9dd776b6
  33. 15 7月, 2007 1 次提交
  34. 10 5月, 2007 1 次提交
  35. 07 5月, 2007 1 次提交
  36. 06 5月, 2007 1 次提交
  37. 27 4月, 2007 1 次提交