1. 31 10月, 2008 1 次提交
  2. 29 10月, 2008 2 次提交
  3. 28 10月, 2008 1 次提交
    • N
      net: implement emergency route cache rebulds when gc_elasticity is exceeded · 1080d709
      Neil Horman 提交于
      This is a patch to provide on demand route cache rebuilding.  Currently, our
      route cache is rebulid periodically regardless of need.  This introduced
      unneeded periodic latency.  This patch offers a better approach.  Using code
      provided by Eric Dumazet, we compute the standard deviation of the average hash
      bucket chain length while running rt_check_expire.  Should any given chain
      length grow to larger that average plus 4 standard deviations, we trigger an
      emergency hash table rebuild for that net namespace.  This allows for the common
      case in which chains are well behaved and do not grow unevenly to not incur any
      latency at all, while those systems (which may be being maliciously attacked),
      only rebuild when the attack is detected.  This patch take 2 other factors into
      account:
      1) chains with multiple entries that differ by attributes that do not affect the
      hash value are only counted once, so as not to unduly bias system to rebuilding
      if features like QOS are heavily used
      2) if rebuilding crosses a certain threshold (which is adjustable via the added
      sysctl in this patch), route caching is disabled entirely for that net
      namespace, since constant rebuilding is less efficient that no caching at all
      
      Tested successfully by me.
      Signed-off-by: NNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: NEric Dumazet <dada1@cosmosbay.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1080d709
  4. 17 10月, 2008 2 次提交
  5. 01 10月, 2008 1 次提交
  6. 28 8月, 2008 1 次提交
  7. 27 8月, 2008 1 次提交
  8. 26 8月, 2008 1 次提交
  9. 16 8月, 2008 1 次提交
    • H
      ipv4: Disable route secret interval on zero interval · c6153b5b
      Herbert Xu 提交于
      Let me first state that disabling the route cache hash rebuild
      should not be done without extensive analysis on the risk profile
      and careful deliberation.
      
      However, there are times when this can be done safely or for
      testing.  For example, when you have mechanisms for ensuring
      that offending parties do not exist in your network.
      
      This patch lets the user disable the rebuild if the interval is
      set to zero.  This also incidentally fixes a divide-by-zero error
      with name-spaces.
      
      In addition, this patch makes the effect of an interval change
      immediate rather than it taking effect at the next rebuild as
      is currently the case.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c6153b5b
  10. 07 8月, 2008 1 次提交
  11. 06 8月, 2008 1 次提交
  12. 01 8月, 2008 2 次提交
  13. 28 7月, 2008 1 次提交
    • A
      missing bits of net-namespace / sysctl · eeb61f71
      Al Viro 提交于
      Piss-poor sysctl registration API strikes again, film at 11...
      
      What we really need is _pathname_ required to be present in already
      registered table, so that kernel could warn about bad order.  That's the
      next target for sysctl stuff (and generally saner and more explicit
      order of initialization of ipv[46] internals wouldn't hurt either).
      
      For the time being, here are full fixups required by ..._rotable()
      stuff; we make per-net sysctl sets descendents of "ro" one and make sure
      that sufficient skeleton is there before we start registering per-net
      sysctls.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      eeb61f71
  14. 27 7月, 2008 2 次提交
  15. 17 7月, 2008 1 次提交
  16. 08 7月, 2008 1 次提交
  17. 06 7月, 2008 8 次提交
  18. 12 6月, 2008 1 次提交
  19. 04 6月, 2008 1 次提交
  20. 21 5月, 2008 1 次提交
    • H
      ipsec: Use the correct ip_local_out function · 1ac06e03
      Herbert Xu 提交于
      Because the IPsec output function xfrm_output_resume does its
      own dst_output call it should always call __ip_local_output
      instead of ip_local_output as the latter may invoke dst_output
      directly.  Otherwise the return values from nf_hook and dst_output
      may clash as they both use the value 1 but for different purposes.
      
      When that clash occurs this can cause a packet to be used after
      it has been freed which usually leads to a crash.  Because the
      offending value is only returned from dst_output with qdiscs
      such as HTB, this bug is normally not visible.
      
      Thanks to Marco Berizzi for his perseverance in tracking this
      down.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1ac06e03
  21. 05 5月, 2008 2 次提交
  22. 29 4月, 2008 1 次提交
  23. 24 4月, 2008 1 次提交
  24. 14 4月, 2008 1 次提交
  25. 10 4月, 2008 4 次提交