1. 09 5月, 2014 1 次提交
  2. 15 1月, 2014 2 次提交
  3. 27 12月, 2013 1 次提交
  4. 01 10月, 2013 1 次提交
  5. 20 9月, 2013 1 次提交
    • A
      ip: generate unique IP identificator if local fragmentation is allowed · 703133de
      Ansis Atteka 提交于
      If local fragmentation is allowed, then ip_select_ident() and
      ip_select_ident_more() need to generate unique IDs to ensure
      correct defragmentation on the peer.
      
      For example, if IPsec (tunnel mode) has to encrypt large skbs
      that have local_df bit set, then all IP fragments that belonged
      to different ESP datagrams would have used the same identificator.
      If one of these IP fragments would get lost or reordered, then
      peer could possibly stitch together wrong IP fragments that did
      not belong to the same datagram. This would lead to a packet loss
      or data corruption.
      Signed-off-by: NAnsis Atteka <aatteka@nicira.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      703133de
  6. 10 8月, 2013 2 次提交
    • W
      net: igmp: Allow user-space configuration of igmp unsolicited report interval · 2690048c
      William Manley 提交于
      Adds the new procfs knobs:
      
          /proc/sys/net/ipv4/conf/*/igmpv2_unsolicited_report_interval
          /proc/sys/net/ipv4/conf/*/igmpv3_unsolicited_report_interval
      
      Which will allow userspace configuration of the IGMP unsolicited report
      interval (see below) in milliseconds.  The defaults are 10000ms for IGMPv2
      and 1000ms for IGMPv3 in accordance with RFC2236 and RFC3376.
      
      Background:
      
      If an IGMP join packet is lost you will not receive data sent to the
      multicast group so if no data arrives from that multicast group in a
      period of time after the IGMP join a second IGMP join will be sent.  The
      delay between joins is the "IGMP Unsolicited Report Interval".
      
      Prior to this patch this value was hard coded in the kernel to 10s for
      IGMPv2 and 1s for IGMPv3.  10s is unsuitable for some use-cases, such as
      IPTV as it can cause channel change to be slow in the presence of packet
      loss.
      
      This patch allows the value to be overridden from userspace for both
      IGMPv2 and IGMPv3 such that it can be tuned accoding to the network.
      
      Tested with Wireshark and a simple program to join a (non-existent)
      multicast group.  The distribution of timings for the second join differ
      based upon setting the procfs knobs.
      
      igmpvX_unsolicited_report_interval is intended to follow the pattern
      established by force_igmp_version, and while a procfs entry has been added
      a corresponding sysctl knob has not as it is my understanding that sysctl
      is deprecated[1].
      
      [1]: http://lwn.net/Articles/247243/Signed-off-by: NWilliam Manley <william.manley@youview.com>
      Acked-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Acked-by: NBenjamin LaHaise <bcrl@kvack.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2690048c
    • W
      net: igmp: Reduce Unsolicited report interval to 1s when using IGMPv3 · cab70040
      William Manley 提交于
      If an IGMP join packet is lost you will not receive data sent to the
      multicast group so if no data arrives from that multicast group in a
      period of time after the IGMP join a second IGMP join will be sent.  The
      delay between joins is the "IGMP Unsolicited Report Interval".
      
      Previously this value was hard coded to be chosen randomly between 0-10s.
      This can be too long for some use-cases, such as IPTV as it can cause
      channel change to be slow in the presence of packet loss.
      
      The value 10s has come from IGMPv2 RFC2236, which was reduced to 1s in
      IGMPv3 RFC3376.  This patch makes the kernel use the 1s value from the
      later RFC if we are operating in IGMPv3 mode.  IGMPv2 behaviour is
      unaffected.
      
      Tested with Wireshark and a simple program to join a (non-existent)
      multicast group.  The distribution of timings for the second join differ
      based upon setting /proc/sys/net/ipv4/conf/eth0/force_igmp_version.
      Signed-off-by: NWilliam Manley <william.manley@youview.com>
      Acked-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Acked-by: NBenjamin LaHaise <bcrl@kvack.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cab70040
  7. 29 7月, 2013 1 次提交
  8. 24 7月, 2013 1 次提交
  9. 13 6月, 2013 1 次提交
    • E
      igmp: fix new sparse errors · c70eba74
      Eric Dumazet 提交于
      Fix following sparse errors :
      
      net/ipv4/igmp.c:1222:25: warning: cast from restricted __be32
      net/ipv4/igmp.c:1234:31: warning: incorrect type in assignment (different address spaces)
      net/ipv4/igmp.c:1234:31:    expected struct ip_mc_list [noderef] <asn:4>*next_hash
      net/ipv4/igmp.c:1234:31:    got struct ip_mc_list *<noident>
      net/ipv4/igmp.c:1250:31: warning: incorrect type in assignment (different address spaces)
      net/ipv4/igmp.c:1250:31:    expected struct ip_mc_list [noderef] <asn:4>*next_hash
      net/ipv4/igmp.c:1250:31:    got struct ip_mc_list *<noident>
      net/ipv4/igmp.c:2380:37: warning: cast from restricted __be32
      
      These were added by commit e9897071
      ("igmp: hash a hash table to speedup ip_check_mc_rcu()")
      Reported-by: Nkbuild test robot <fengguang.wu@intel.com>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c70eba74
  10. 12 6月, 2013 2 次提交
  11. 29 5月, 2013 1 次提交
  12. 19 2月, 2013 2 次提交
  13. 02 10月, 2012 1 次提交
  14. 08 9月, 2012 1 次提交
  15. 10 8月, 2012 1 次提交
    • E
      time: jiffies_delta_to_clock_t() helper to the rescue · a399a805
      Eric Dumazet 提交于
      Various /proc/net files sometimes report crazy timer values, expressed
      in clock_t units.
      
      This happens when an expired timer delta (expires - jiffies) is passed
      to jiffies_to_clock_t().
      
      This function has an overflow in :
      
      return div_u64((u64)x * TICK_NSEC, NSEC_PER_SEC / USER_HZ);
      
      commit cbbc719f (time: Change jiffies_to_clock_t() argument type
      to unsigned long) only got around the problem.
      
      As we cant output negative values in /proc/net/tcp without breaking
      various tools, I suggest adding a jiffies_delta_to_clock_t() wrapper
      that caps the negative delta to a 0 value.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Reported-by: NMaciej Żenczykowski <maze@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: hank <pyu@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a399a805
  16. 16 4月, 2012 1 次提交
  17. 05 4月, 2012 1 次提交
  18. 29 3月, 2012 1 次提交
  19. 13 1月, 2012 1 次提交
  20. 10 1月, 2012 1 次提交
  21. 01 12月, 2011 1 次提交
  22. 24 11月, 2011 1 次提交
  23. 19 11月, 2011 1 次提交
    • H
      ipv4: Remove all uses of LL_ALLOCATED_SPACE · 66088243
      Herbert Xu 提交于
      ipv4: Remove all uses of LL_ALLOCATED_SPACE
      
      The macro LL_ALLOCATED_SPACE was ill-conceived.  It applies the
      alignment to the sum of needed_headroom and needed_tailroom.  As
      the amount that is then reserved for head room is needed_headroom
      with alignment, this means that the tail room left may be too small.
      
      This patch replaces all uses of LL_ALLOCATED_SPACE in net/ipv4
      with the macro LL_RESERVED_SPACE and direct reference to
      needed_tailroom.
      
      This also fixes the problem with needed_headroom changing between
      allocating the skb and reserving the head room.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      66088243
  24. 25 8月, 2011 1 次提交
  25. 18 8月, 2011 1 次提交
  26. 02 8月, 2011 1 次提交
  27. 01 8月, 2011 1 次提交
  28. 25 5月, 2011 1 次提交
  29. 08 5月, 2011 3 次提交
  30. 04 5月, 2011 2 次提交
  31. 28 4月, 2011 1 次提交
  32. 13 3月, 2011 1 次提交
  33. 11 3月, 2011 1 次提交