1. 05 Jun, 2013 1 commit
  2. 01 May, 2013 1 commit
  3. 19 Apr, 2013 1 commit
  4. 21 Mar, 2013 1 commit
    • Andrey Vagin's avatar
      netlink: Diag core and basic socket info dumping (v2) · eaaa3139
      Andrey Vagin authored
      The netlink_diag can be built as a module, just like it's done in
      unix sockets.
      The core dumping message carries the basic info about netlink sockets:
      family, type and protocol, portis, dst_group, dst_portid, state.
      Groups can be received as an optional parameter NETLINK_DIAG_GROUPS.
      Netlink sockets cab be filtered by protocols.
      The socket inode number and cookie is reserved for future per-socket info
      retrieving. The per-protocol filtering is also reserved for future by
      requiring the sdiag_protocol to be zero.
      The file /proc/net/netlink doesn't provide enough information for
      dumping netlink sockets. It doesn't provide dst_group, dst_portid,
      groups above 32.
      v2: fix NETLINK_DIAG_MAX. Now it's equal to the last constant.
      Acked-by: default avatarPavel Emelyanov <xemul@parallels.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: Pablo Neira Ayuso <pablo@netfilter.org>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Gao feng <gaofeng@cn.fujitsu.com>
      Cc: Thomas Graf <tgraf@suug.ch>
      Signed-off-by: default avatarAndrey Vagin <avagin@openvz.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  5. 11 Feb, 2013 1 commit
    • Andy King's avatar
      VSOCK: Introduce VM Sockets · d021c344
      Andy King authored
      VM Sockets allows communication between virtual machines and the hypervisor.
      User level applications both in a virtual machine and on the host can use the
      VM Sockets API, which facilitates fast and efficient communication between
      guest virtual machines and their host.  A socket address family, designed to be
      compatible with UDP and TCP at the interface level, is provided.
      Today, VM Sockets is used by various VMware Tools components inside the guest
      for zero-config, network-less access to VMware host services.  In addition to
      this, VMware's users are using VM Sockets for various applications, where
      network access of the virtual machine is restricted or non-existent.  Examples
      of this are VMs communicating with device proxies for proprietary hardware
      running as host applications and automated testing of applications running
      within virtual machines.
      The VMware VM Sockets are similar to other socket types, like Berkeley UNIX
      socket interface.  The VM Sockets module supports both connection-oriented
      stream sockets like TCP, and connectionless datagram sockets like UDP. The VM
      Sockets protocol family is defined as "AF_VSOCK" and the socket operations
      split for SOCK_DGRAM and SOCK_STREAM.
      For additional information about the use of VM Sockets, please refer to the
      VM Sockets Programming Guide available at:
      Signed-off-by: default avatarGeorge Zhang <georgezhang@vmware.com>
      Signed-off-by: default avatarDmitry Torokhov <dtor@vmware.com>
      Signed-off-by: default avatarAndy king <acking@vmware.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  6. 01 Feb, 2013 1 commit
    • Paul Gortmaker's avatar
      wanrouter: completely decouple obsolete code from kernel. · a786a7c0
      Paul Gortmaker authored
      The original suggestion to delete wanrouter started earlier
      with the mainline commit f0d1b3c2
      ("net/wanrouter: Deprecate and schedule for removal") in May 2012.
      More importantly, Dan Carpenter found[1] that the driver had a
      fundamental breakage introduced back in 2008, with commit
      7be6065b ("netdevice wanrouter: Convert directly reference of
      netdev->priv").  So we know with certainty that the code hasn't been
      used by anyone willing to at least take the effort to send an e-mail
      report of breakage for at least 4 years.
      This commit does a decouple of the wanrouter subsystem, by going
      after the Makefile/Kconfig and similar files, so that these mainline
      files that we are keeping do not have the big wanrouter file/driver
      deletion commit tied into their history.
      Once this commit is in place, we then can remove the obsolete cyclomx
      drivers and similar that have a dependency on CONFIG_WAN_ROUTER_DRIVERS.
      [1] http://www.spinics.net/lists/netdev/msg218670.html
      Originally-by: default avatarJoe Perches <joe@perches.com>
      Cc: Dan Carpenter <dan.carpenter@oracle.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
  7. 11 Jan, 2013 2 commits
  8. 04 Sep, 2012 1 commit
    • David S. Miller's avatar
      net: Add INET dependency on aes crypto for the sake of TCP fastopen. · 798b2cbf
      David S. Miller authored
      Stephen Rothwell says:
      After merging the final tree, today's linux-next build (powerpc
      ppc44x_defconfig) failed like this:
      net/built-in.o: In function `tcp_fastopen_ctx_free':
      tcp_fastopen.c:(.text+0x5cc5c): undefined reference to `crypto_destroy_tfm'
      net/built-in.o: In function `tcp_fastopen_reset_cipher':
      (.text+0x5cccc): undefined reference to `crypto_alloc_base'
      net/built-in.o: In function `tcp_fastopen_reset_cipher':
      (.text+0x5cd6c): undefined reference to `crypto_destroy_tfm'
      Presumably caused by commit 10467163 ("tcp: TCP Fast Open Server -
      header & support functions") from the net-next tree.  I assume that some
      dependency on the CRYPTO infrastructure is missing.
      I have reverted commit 1bed966c
       ("Merge branch
      'tcp_fastopen_server'") for today.
      Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  9. 21 May, 2012 1 commit
  10. 18 May, 2012 1 commit
  11. 17 May, 2012 1 commit
    • Neil Horman's avatar
      drop_monitor: convert to modular building · cad456d5
      Neil Horman authored
      When I first wrote drop monitor I wrote it to just build monolithically.  There
      is no reason it can't be built modularly as well, so lets give it that
      I've tested this by building it as both a module and monolithically, and it
      seems to work quite well
      Change notes:
      * fixed for_each_present_cpu loops to be more correct as per Eric D.
      * Converted exit path failures to BUG_ON as per Ben H.
      * Converted del_timer to del_timer_sync to close race noted by Ben H.
      Signed-off-by: default avatarNeil Horman <nhorman@tuxdriver.com>
      CC: "David S. Miller" <davem@davemloft.net>
      CC: Eric Dumazet <eric.dumazet@gmail.com>
      CC: Ben Hutchings <bhutchings@solarflare.com>
      Reviewed-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  12. 16 May, 2012 1 commit
  13. 03 Dec, 2011 1 commit
    • Jesse Gross's avatar
      net: Add Open vSwitch kernel components. · ccb1352e
      Jesse Gross authored
      Open vSwitch is a multilayer Ethernet switch targeted at virtualized
      environments.  In addition to supporting a variety of features
      expected in a traditional hardware switch, it enables fine-grained
      programmatic extension and flow-based control of the network.
      This control is useful in a wide variety of applications but is
      particularly important in multi-server virtualization deployments,
      which are often characterized by highly dynamic endpoints and the need
      to maintain logical abstractions for multiple tenants.
      The Open vSwitch datapath provides an in-kernel fast path for packet
      forwarding.  It is complemented by a userspace daemon, ovs-vswitchd,
      which is able to accept configuration from a variety of sources and
      translate it into packet processing rules.
      See http://openvswitch.org
       for more information and userspace
      Signed-off-by: default avatarJesse Gross <jesse@nicira.com>
  14. 29 Nov, 2011 1 commit
    • Tom Herbert's avatar
      bql: Byte queue limits · 114cf580
      Tom Herbert authored
      Networking stack support for byte queue limits, uses dynamic queue
      limits library.  Byte queue limits are maintained per transmit queue,
      and a dql structure has been added to netdev_queue structure for this
      Configuration of bql is in the tx-<n> sysfs directory for the queue
      under the byte_queue_limits directory.  Configuration includes:
      limit_min, bql minimum limit
      limit_max, bql maximum limit
      hold_time, bql slack hold time
      Also under the directory are:
      limit, current byte limit
      inflight, current number of bytes on the queue
      Signed-off-by: default avatarTom Herbert <therbert@google.com>
      Acked-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  15. 22 Nov, 2011 1 commit
    • Neil Horman's avatar
      net: add network priority cgroup infrastructure (v4) · 5bc1421e
      Neil Horman authored
      This patch adds in the infrastructure code to create the network priority
      cgroup.  The cgroup, in addition to the standard processes file creates two
      control files:
      1) prioidx - This is a read-only file that exports the index of this cgroup.
      This is a value that is both arbitrary and unique to a cgroup in this subsystem,
      and is used to index the per-device priority map
      2) priomap - This is a writeable file.  On read it reports a table of 2-tuples
      <name:priority> where name is the name of a network interface and priority is
      indicates the priority assigned to frames egresessing on the named interface and
      originating from a pid in this cgroup
      This cgroup allows for skb priority to be set prior to a root qdisc getting
      selected. This is benenficial for DCB enabled systems, in that it allows for any
      application to use dcb configured priorities so without application modification
      Signed-off-by: default avatarNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: default avatarJohn Fastabend <john.r.fastabend@intel.com>
      CC: Robert Love <robert.w.love@intel.com>
      CC: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  16. 05 Jul, 2011 1 commit
  17. 29 Apr, 2011 1 commit
  18. 28 Apr, 2011 1 commit
    • Eric Dumazet's avatar
      net: filter: Just In Time compiler for x86-64 · 0a14842f
      Eric Dumazet authored
      In order to speedup packet filtering, here is an implementation of a
      JIT compiler for x86_64
      It is disabled by default, and must be enabled by the admin.
      echo 1 >/proc/sys/net/core/bpf_jit_enable
      It uses module_alloc() and module_free() to get memory in the 2GB text
      kernel range since we call helpers functions from the generated code.
      EAX : BPF A accumulator
      EBX : BPF X accumulator
      RDI : pointer to skb   (first argument given to JIT function)
      RBP : frame pointer (even if CONFIG_FRAME_POINTER=n)
      r9d : skb->len - skb->data_len (headlen)
      r8  : skb->data
      To get a trace of generated code, use :
      echo 2 >/proc/sys/net/core/bpf_jit_enable
      Example of generated code :
      # tcpdump -p -n -s 0 -i eth1 host
      flen=18 proglen=147 pass=3 image=ffffffffa00b5000
      JIT code: ffffffffa00b5000: 55 48 89 e5 48 83 ec 60 48 89 5d f8 44 8b 4f 60
      JIT code: ffffffffa00b5010: 44 2b 4f 64 4c 8b 87 b8 00 00 00 be 0c 00 00 00
      JIT code: ffffffffa00b5020: e8 24 7b f7 e0 3d 00 08 00 00 75 28 be 1a 00 00
      JIT code: ffffffffa00b5030: 00 e8 fe 7a f7 e0 24 00 3d 00 14 a8 c0 74 49 be
      JIT code: ffffffffa00b5040: 1e 00 00 00 e8 eb 7a f7 e0 24 00 3d 00 14 a8 c0
      JIT code: ffffffffa00b5050: 74 36 eb 3b 3d 06 08 00 00 74 07 3d 35 80 00 00
      JIT code: ffffffffa00b5060: 75 2d be 1c 00 00 00 e8 c8 7a f7 e0 24 00 3d 00
      JIT code: ffffffffa00b5070: 14 a8 c0 74 13 be 26 00 00 00 e8 b5 7a f7 e0 24
      JIT code: ffffffffa00b5080: 00 3d 00 14 a8 c0 75 07 b8 ff ff 00 00 eb 02 31
      JIT code: ffffffffa00b5090: c0 c9 c3
      BPF program is 144 bytes long, so native program is almost same size ;)
      (000) ldh      [12]
      (001) jeq      #0x800           jt 2    jf 8
      (002) ld       [26]
      (003) and      #0xffffff00
      (004) jeq      #0xc0a81400      jt 16   jf 5
      (005) ld       [30]
      (006) and      #0xffffff00
      (007) jeq      #0xc0a81400      jt 16   jf 17
      (008) jeq      #0x806           jt 10   jf 9
      (009) jeq      #0x8035          jt 10   jf 17
      (010) ld       [28]
      (011) and      #0xffffff00
      (012) jeq      #0xc0a81400      jt 16   jf 13
      (013) ld       [38]
      (014) and      #0xffffff00
      (015) jeq      #0xc0a81400      jt 16   jf 17
      (016) ret      #65535
      (017) ret      #0
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Cc: Arnaldo Carvalho de Melo <acme@infradead.org>
      Cc: Ben Hutchings <bhutchings@solarflare.com>
      Cc: Hagen Paul Pfeifer <hagen@jauu.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  19. 31 Jan, 2011 2 commits
    • Greg Kroah-Hartman's avatar
      Revert "appletalk: move to staging" · 0ffbf8bf
      Greg Kroah-Hartman authored
      This reverts commit a6238f21
      Appletalk got some patches to fix up the BLK usage in it in the
      network tree, so this removal isn't needed.
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: <acme@ghostprotocols.net>
      Cc: netdev@vger.kernel.org,
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    • Arnd Bergmann's avatar
      appletalk: move to staging · a6238f21
      Arnd Bergmann authored
      For all I know, Appletalk is dead, the only reasonable
      use right now would be nostalgia, and that can be served
      well enough by old kernels. The code is largely not
      in a bad shape, but it still uses the big kernel lock,
      and nobody seems motivated to change that.
      FWIW, the last release of MacOS that supported Appletalk
      was MacOS X 10.5, made in 2007, and it has been abandoned
      by Apple with 10.6. Using TCP/IP instead of Appletalk has
      been supported since MacOS 7.6, which was released in
      1997 and is able to run on most of the legacy hardware.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
      Cc: netdev@vger.kernel.org
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
  20. 24 Jan, 2011 1 commit
    • Ben Hutchings's avatar
      net: RPS: Enable hardware acceleration of RFS · c445477d
      Ben Hutchings authored
      Allow drivers for multiqueue hardware with flow filter tables to
      accelerate RFS.  The driver must:
      1. Set net_device::rx_cpu_rmap to a cpu_rmap of the RX completion
      IRQs (in queue order).  This will provide a mapping from CPUs to the
      queues for which completions are handled nearest to them.
      2. Implement net_device_ops::ndo_rx_flow_steer.  This operation adds
      or replaces a filter steering the given flow to the given RX queue, if
      3. Periodically remove filters for which rps_may_expire_flow() returns
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  21. 16 Dec, 2010 1 commit
  22. 29 Nov, 2010 1 commit
  23. 15 Nov, 2010 1 commit
    • Michael Witten's avatar
      Docs/Kconfig: Update: osdl.org -> linuxfoundation.org · c996d8b9
      Michael Witten authored
      Some of the documentation refers to web pages under
      the domain `osdl.org'. However, `osdl.org' now
      redirects to `linuxfoundation.org'.
      Rather than rely on redirections, this patch updates
      the addresses appropriately; for the most part, only
      documentation that is meant to be current has been
      The patch should be pretty quick to scan and check;
      each new web-page url was gotten by trying out the
      original URL in a browser and then simply copying the
      the redirected URL (formatting as necessary).
      There is some conflict as to which one of these domain
      names is preferred:
      So, I wrote:
      and got this reply:
        Message-ID: <4CE17EE6.9040807@linuxfoundation.org>
        Date: Mon, 15 Nov 2010 10:41:42 -0800
        From: David Ames <david@linuxfoundation.org>
        linuxfoundation.org is preferred. The canonical name for our web site is
        www.linuxfoundation.org. Our list site is actually
        Regarding email linuxfoundation.org is preferred there are a few people
        who choose to use linux-foundation.org for their own reasons.
      Consequently, I used `linuxfoundation.org' for web pages and
      `lists.linux-foundation.org' for mailing-list web pages and email addresses;
      the only personal email address I updated from `@osdl.org' was that of
      Andrew Morton, who prefers `linux-foundation.org' according `git log'.
      Signed-off-by: default avatarMichael Witten <mfwitten@gmail.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
  24. 20 Oct, 2010 1 commit
    • Yehuda Sadeh's avatar
      ceph: factor out libceph from Ceph file system · 3d14c5d2
      Yehuda Sadeh authored
      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
      No functional change, aside from some subtle error handling cases that got
      cleaned up in the refactoring process.
      Signed-off-by: default avatarSage Weil <sage@newdream.net>
  25. 15 Sep, 2010 1 commit
  26. 05 Aug, 2010 1 commit
    • Wang Lei's avatar
      DNS: Separate out CIFS DNS Resolver code · 1a4240f4
      Wang Lei authored
      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: default avatarWang Lei <wang840925@gmail.com>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
  27. 26 Jul, 2010 1 commit
  28. 19 Jul, 2010 1 commit
    • Richard Cochran's avatar
      net: support time stamping in phy devices. · c1f19b51
      Richard Cochran authored
      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: default avatarRichard Cochran <richard.cochran@omicron.at>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  29. 21 May, 2010 2 commits
    • Eric W. Biederman's avatar
      net/sysfs: Fix the bitrot in network device kobject namespace support · d6523ddf
      Eric W. Biederman authored
      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: default avatarSerge E. Hallyn <serue@us.ibm.com>
      Signed-off-by: default avatarEric W. Biederman <ebiederm@aristanetworks.com>
      Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Eric W. Biederman's avatar
      netns: Teach network device kobjects which namespace they are in. · 608b4b95
      Eric W. Biederman authored
      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: default avatarEric W. Biederman <ebiederm@xmission.com>
      Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
  30. 03 Apr, 2010 1 commit
    • James Chapman's avatar
      l2tp: Split pppol2tp patch into separate l2tp and ppp parts · fd558d18
      James Chapman authored
      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
      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: default avatarJames Chapman <jchapman@katalix.com>
      Reviewed-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  31. 31 Mar, 2010 1 commit
  32. 25 Mar, 2010 1 commit
  33. 15 Jul, 2009 1 commit
    • Johannes Berg's avatar
      net/compat/wext: send different messages to compat tasks · 1dacc76d
      Johannes Berg authored
      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
      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: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  34. 09 Jun, 2009 1 commit
    • Sergey Lapin's avatar
      net: add IEEE 802.15.4 socket family implementation · 9ec76716
      Sergey Lapin authored
      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
      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: default avatarDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
      Signed-off-by: default avatarSergey Lapin <slapin@ossfans.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  35. 07 May, 2009 1 commit
  36. 30 Mar, 2009 1 commit
  37. 22 Mar, 2009 1 commit