1. 29 10月, 2005 4 次提交
    • A
      [IPv4/IPv6]: UFO Scatter-gather approach · e89e9cf5
      Ananda Raju 提交于
      Attached is kernel patch for UDP Fragmentation Offload (UFO) feature.
      
      1. This patch incorporate the review comments by Jeff Garzik.
      2. Renamed USO as UFO (UDP Fragmentation Offload)
      3. udp sendfile support with UFO
      
      This patches uses scatter-gather feature of skb to generate large UDP
      datagram. Below is a "how-to" on changes required in network device
      driver to use the UFO interface.
      
      UDP Fragmentation Offload (UFO) Interface:
      -------------------------------------------
      UFO is a feature wherein the Linux kernel network stack will offload the
      IP fragmentation functionality of large UDP datagram to hardware. This
      will reduce the overhead of stack in fragmenting the large UDP datagram to
      MTU sized packets
      
      1) Drivers indicate their capability of UFO using
      dev->features |= NETIF_F_UFO | NETIF_F_HW_CSUM | NETIF_F_SG
      
      NETIF_F_HW_CSUM is required for UFO over ipv6.
      
      2) UFO packet will be submitted for transmission using driver xmit routine.
      UFO packet will have a non-zero value for
      
      "skb_shinfo(skb)->ufo_size"
      
      skb_shinfo(skb)->ufo_size will indicate the length of data part in each IP
      fragment going out of the adapter after IP fragmentation by hardware.
      
      skb->data will contain MAC/IP/UDP header and skb_shinfo(skb)->frags[]
      contains the data payload. The skb->ip_summed will be set to CHECKSUM_HW
      indicating that hardware has to do checksum calculation. Hardware should
      compute the UDP checksum of complete datagram and also ip header checksum of
      each fragmented IP packet.
      
      For IPV6 the UFO provides the fragment identification-id in
      skb_shinfo(skb)->ip6_frag_id. The adapter should use this ID for generating
      IPv6 fragments.
      Signed-off-by: NAnanda Raju <ananda.raju@neterion.com>
      Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (forwarded)
      Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
      e89e9cf5
    • M
      [Bluetooth] Update security filter for Extended Inquiry Response · dd7f5527
      Marcel Holtmann 提交于
      This patch updates the HCI security filter with support for the Extended
      Inquiry Response (EIR) feature.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      dd7f5527
    • M
      [Bluetooth] Make more functions static · 6516455d
      Marcel Holtmann 提交于
      This patch makes another bunch of functions static.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      6516455d
    • M
      [Bluetooth] Move CRC table into RFCOMM core · 408c1ce2
      Marcel Holtmann 提交于
      This patch moves rfcomm_crc_table[] into the RFCOMM core, because there
      is no need to keep it in a separate file.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      408c1ce2
  2. 28 10月, 2005 4 次提交
    • A
      [PATCH] gfp_t: net/* · 7d877f3b
      Al Viro 提交于
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      7d877f3b
    • T
    • T
      Revert "RPC: stops the release_pipe() funtion from being called twice" · 6fa05b17
      Trond Myklebust 提交于
      This reverts 747c5534 commit.
      6fa05b17
    • H
      [TCP]: Clear stale pred_flags when snd_wnd changes · 2ad41065
      Herbert Xu 提交于
      This bug is responsible for causing the infamous "Treason uncloaked"
      messages that's been popping up everywhere since the printk was added.
      It has usually been blamed on foreign operating systems.  However,
      some of those reports implicate Linux as both systems are running
      Linux or the TCP connection is going across the loopback interface.
      
      In fact, there really is a bug in the Linux TCP header prediction code
      that's been there since at least 2.1.8.  This bug was tracked down with
      help from Dale Blount.
      
      The effect of this bug ranges from harmless "Treason uncloaked"
      messages to hung/aborted TCP connections.  The details of the bug
      and fix is as follows.
      
      When snd_wnd is updated, we only update pred_flags if
      tcp_fast_path_check succeeds.  When it fails (for example,
      when our rcvbuf is used up), we will leave pred_flags with
      an out-of-date snd_wnd value.
      
      When the out-of-date pred_flags happens to match the next incoming
      packet we will again hit the fast path and use the current snd_wnd
      which will be wrong.
      
      In the case of the treason messages, it just happens that the snd_wnd
      cached in pred_flags is zero while tp->snd_wnd is non-zero.  Therefore
      when a zero-window packet comes in we incorrectly conclude that the
      window is non-zero.
      
      In fact if the peer continues to send us zero-window pure ACKs we
      will continue making the same mistake.  It's only when the peer
      transmits a zero-window packet with data attached that we get a
      chance to snap out of it.  This is what triggers the treason
      message at the next retransmit timeout.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
      2ad41065
  3. 27 10月, 2005 2 次提交
  4. 26 10月, 2005 17 次提交
  5. 23 10月, 2005 4 次提交
    • H
      [NEIGH] Fix timer leak in neigh_changeaddr · 49636bb1
      Herbert Xu 提交于
      neigh_changeaddr attempts to delete neighbour timers without setting
      nud_state.  This doesn't work because the timer may have already fired
      when we acquire the write lock in neigh_changeaddr.  The result is that
      the timer may keep firing for quite a while until the entry reaches
      NEIGH_FAILED.
      
      It should be setting the nud_state straight away so that if the timer
      has already fired it can simply exit once we relinquish the lock.
      
      In fact, this whole function is simply duplicating the logic in
      neigh_ifdown which in turn is already doing the right thing when
      it comes to deleting timers and setting nud_state.
      
      So all we have to do is take that code out and put it into a common
      function and make both neigh_changeaddr and neigh_ifdown call it.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      49636bb1
    • H
      [NEIGH] Fix add_timer race in neigh_add_timer · 6fb9974f
      Herbert Xu 提交于
      neigh_add_timer cannot use add_timer unconditionally.  The reason is that
      by the time it has obtained the write lock someone else (e.g., neigh_update)
      could have already added a new timer.
      
      So it should only use mod_timer and deal with its return value accordingly.
      
      This bug would have led to rare neighbour cache entry leaks.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      6fb9974f
    • H
      [NEIGH] Print stack trace in neigh_add_timer · 20375502
      Herbert Xu 提交于
      Stack traces are very helpful in determining the exact nature of a bug.
      So let's print a stack trace when the timer is added twice.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      20375502
    • J
      [SK_BUFF]: ipvs_property field must be copied · c98d80ed
      Julian Anastasov 提交于
      IPVS used flag NFC_IPVS_PROPERTY in nfcache but as now nfcache was removed the
      new flag 'ipvs_property' still needs to be copied. This patch should be
      included in 2.6.14.
      
      Further comments from Harald Welte:
      
      Sorry, seems like the bug was introduced by me.
      Signed-off-by: NJulian Anastasov <ja@ssi.bg>
      Signed-off-by: NHarald Welte <laforge@netfilter.org>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
      c98d80ed
  6. 22 10月, 2005 1 次提交
  7. 21 10月, 2005 5 次提交
  8. 20 10月, 2005 1 次提交
  9. 19 10月, 2005 2 次提交