1. 25 10月, 2011 1 次提交
    • A
      ipv6: Do not use routes from locally generated RAs · 9f56220f
      Andreas Hofmeister 提交于
      When hybrid mode is enabled (accept_ra == 2), the kernel also sees RAs
      generated locally. This is useful since it allows the kernel to auto-configure
      its own interface addresses.
      
      However, if 'accept_ra_defrtr' and/or 'accept_ra_rtr_pref' are set and the
      locally generated RAs announce the default route and/or other route information,
      the kernel happily inserts bogus routes with its own address as gateway.
      
      With this patch, adding routes from an RA will be skiped when the RAs source
      address matches any local address, just as if 'accept_ra_defrtr' and
      'accept_ra_rtr_pref' were set to 0.
      Signed-off-by: NAndreas Hofmeister <andi@collax.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9f56220f
  2. 24 10月, 2011 1 次提交
  3. 21 10月, 2011 2 次提交
  4. 20 10月, 2011 1 次提交
  5. 19 10月, 2011 4 次提交
  6. 18 10月, 2011 1 次提交
  7. 14 10月, 2011 1 次提交
    • E
      net: more accurate skb truesize · 87fb4b7b
      Eric Dumazet 提交于
      skb truesize currently accounts for sk_buff struct and part of skb head.
      kmalloc() roundings are also ignored.
      
      Considering that skb_shared_info is larger than sk_buff, its time to
      take it into account for better memory accounting.
      
      This patch introduces SKB_TRUESIZE(X) macro to centralize various
      assumptions into a single place.
      
      At skb alloc phase, we put skb_shared_info struct at the exact end of
      skb head, to allow a better use of memory (lowering number of
      reallocations), since kmalloc() gives us power-of-two memory blocks.
      
      Unless SLUB/SLUB debug is active, both skb->head and skb_shared_info are
      aligned to cache lines, as before.
      
      Note: This patch might trigger performance regressions because of
      misconfigured protocol stacks, hitting per socket or global memory
      limits that were previously not reached. But its a necessary step for a
      more accurate memory accounting.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      CC: Andi Kleen <ak@linux.intel.com>
      CC: Ben Hutchings <bhutchings@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      87fb4b7b
  8. 11 10月, 2011 1 次提交
  9. 05 10月, 2011 1 次提交
  10. 29 9月, 2011 1 次提交
  11. 28 9月, 2011 3 次提交
  12. 27 9月, 2011 1 次提交
  13. 21 9月, 2011 2 次提交
  14. 17 9月, 2011 2 次提交
    • Y
      ipv6: don't use inetpeer to store metrics for routes. · 8e2ec639
      Yan, Zheng 提交于
      Current IPv6 implementation uses inetpeer to store metrics for
      routes. The problem of inetpeer is that it doesn't take subnet
      prefix length in to consideration. If two routes have the same
      address but different prefix length, they share same inetpeer.
      So changing metrics of one route also affects the other. The
      fix is to allocate separate metrics storage for each route.
      Signed-off-by: NZheng Yan <zheng.z.yan@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8e2ec639
    • T
      ipv6: Send ICMPv6 RSes only when RAs are accepted · 026359bc
      Tore Anderson 提交于
      This patch improves the logic determining when to send ICMPv6 Router
      Solicitations, so that they are 1) always sent when the kernel is
      accepting Router Advertisements, and 2) never sent when the kernel is
      not accepting RAs. In other words, the operational setting of the
      "accept_ra" sysctl is used.
      
      The change also makes the special "Hybrid Router" forwarding mode
      ("forwarding" sysctl set to 2) operate exactly the same as the standard
      Router mode (forwarding=1). The only difference between the two was
      that RSes was being sent in the Hybrid Router mode only. The sysctl
      documentation describing the special Hybrid Router mode has therefore
      been removed.
      
      Rationale for the change:
      
      Currently, the value of forwarding sysctl is the only thing determining
      whether or not to send RSes. If it has the value 0 or 2, they are sent,
      otherwise they are not. This leads to inconsistent behaviour in the
      following cases:
      
      * accept_ra=0, forwarding=0
      * accept_ra=0, forwarding=2
      * accept_ra=1, forwarding=2
      * accept_ra=2, forwarding=1
      
      In the first three cases, the kernel will send RSes, even though it will
      not accept any RAs received in reply. In the last case, it will not send
      any RSes, even though it will accept and process any RAs received. (Most
      routers will send unsolicited RAs periodically, so suppressing RSes in
      the last case will merely delay auto-configuration, not prevent it.)
      
      Also, it is my opinion that having the forwarding sysctl control RS
      sending behaviour (completely independent of whether RAs are being
      accepted or not) is simply not what most users would intuitively expect
      to be the case.
      Signed-off-by: NTore Anderson <tore@fud.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      026359bc
  15. 16 9月, 2011 1 次提交
    • E
      tcp: Change possible SYN flooding messages · 946cedcc
      Eric Dumazet 提交于
      "Possible SYN flooding on port xxxx " messages can fill logs on servers.
      
      Change logic to log the message only once per listener, and add two new
      SNMP counters to track :
      
      TCPReqQFullDoCookies : number of times a SYNCOOKIE was replied to client
      
      TCPReqQFullDrop : number of times a SYN request was dropped because
      syncookies were not enabled.
      
      Based on a prior patch from Tom Herbert, and suggestions from David.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      CC: Tom Herbert <therbert@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      946cedcc
  16. 31 8月, 2011 1 次提交
  17. 30 8月, 2011 1 次提交
  18. 25 8月, 2011 2 次提交
  19. 19 8月, 2011 1 次提交
  20. 18 8月, 2011 1 次提交
  21. 17 8月, 2011 1 次提交
  22. 12 8月, 2011 1 次提交
  23. 11 8月, 2011 1 次提交
  24. 07 8月, 2011 1 次提交
    • D
      net: Compute protocol sequence numbers and fragment IDs using MD5. · 6e5714ea
      David S. Miller 提交于
      Computers have become a lot faster since we compromised on the
      partial MD4 hash which we use currently for performance reasons.
      
      MD5 is a much safer choice, and is inline with both RFC1948 and
      other ISS generators (OpenBSD, Solaris, etc.)
      
      Furthermore, only having 24-bits of the sequence number be truly
      unpredictable is a very serious limitation.  So the periodic
      regeneration and 8-bit counter have been removed.  We compute and
      use a full 32-bit sequence number.
      
      For ipv6, DCCP was found to use a 32-bit truncated initial sequence
      number (it needs 43-bits) and that is fixed here as well.
      Reported-by: NDan Kaminsky <dan@doxpara.com>
      Tested-by: NWilly Tarreau <w@1wt.eu>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6e5714ea
  25. 05 8月, 2011 1 次提交
  26. 03 8月, 2011 1 次提交
  27. 02 8月, 2011 2 次提交
  28. 01 8月, 2011 3 次提交