1. 04 1月, 2006 1 次提交
    • E
      [NETFILTER] ip_tables: NUMA-aware allocation · 31836064
      Eric Dumazet 提交于
      Part of a performance problem with ip_tables is that memory allocation
      is not NUMA aware, but 'only' SMP aware (ie each CPU normally touch
      separate cache lines)
      
      Even with small iptables rules, the cost of this misplacement can be
      high on common workloads.  Instead of using one vmalloc() area
      (located in the node of the iptables process), we now allocate an area
      for each possible CPU, using vmalloc_node() so that memory should be
      allocated in the CPU's node if possible.
      
      Port to arp_tables and ip6_tables by Harald Welte.
      Signed-off-by: NEric Dumazet <dada1@cosmosbay.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      31836064
  2. 28 12月, 2005 2 次提交
    • D
      [IPV6] mcast: Fix multiple issues in MLDv2 reports. · 5ab4a6c8
      David L Stevens 提交于
      The below "jumbo" patch fixes the following problems in MLDv2.
      
      1) Add necessary "ntohs" to recent "pskb_may_pull" check [breaks
              all nonzero source queries on little-endian (!)]
      
      2) Add locking to source filter list [resend of prior patch]
      
      3) fix "mld_marksources()" to
              a) send nothing when all queried sources are excluded
              b) send full exclude report when source queried sources are
                      not excluded
              c) don't schedule a timer when there's nothing to report
      
      NOTE: RFC 3810 specifies the source list should be saved and each
        source reported individually as an IS_IN. This is an obvious DOS
        path, requiring the host to store and then multicast as many sources
        as are queried (e.g., millions...). This alternative sends a full, 
        relevant report that's limited to number of sources present on the
        machine.
      
      4) fix "add_grec()" to send empty-source records when it should
              The original check doesn't account for a non-empty source
              list with all sources inactive; the new code keeps that
              short-circuit case, and also generates the group header
              with an empty list if needed.
      
      5) fix mca_crcount decrement to be after add_grec(), which needs
              its original value
      
      These issues (other than item #1 ;-) ) were all found by Yan Zheng,
      much thanks!
      Signed-off-by: NDavid L Stevens <dlstevens@us.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5ab4a6c8
    • Y
      [IPV6]: Fix addrconf dead lock. · 6732bade
      YOSHIFUJI Hideaki 提交于
      We need to release idev->lcok before we call addrconf_dad_stop().
      It calls ipv6_addr_del(), which will hold idev->lock.
      
      Bug spotted by Yasuyuki KOZAKAI <yasuyuki.kozakai@toshiba.co.jp>.
      Signed-off-by: NYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6732bade
  3. 27 12月, 2005 1 次提交
  4. 24 12月, 2005 2 次提交
  5. 22 12月, 2005 1 次提交
    • K
      [IPV6]: Fix address deletion · 1d142804
      Kristian Slavov 提交于
      If you add more than one IPv6 address belonging to the same prefix and 
      delete the address that was last added, routing table entry for that 
      prefix is also deleted.
      Tested on 2.6.14.4
      
      To reproduce:
      ip addr add 3ffe::1/64 dev eth0
      ip addr add 3ffe::2/64 dev eth0
      /* wait DAD */
      sleep 1
      ip addr del 3ffe::2/64 dev eth0
      ip -6 route
      
      (route to 3ffe::/64 should be gone)
      
      In ipv6_del_addr(), if ifa == ifp, we set ifa->if_next to NULL, and later 
      assign ifap = &ifa->if_next, effectively terminating the for-loop.
      This prevents us from checking if there are other addresses using the same 
      prefix that are valid, and thus resulting in deletion of the prefix.
      This applies only if the first entry in idev->addr_list is the address to 
      be deleted.
      Signed-off-by: NKristian Slavov <kristian.slavov@nomadiclab.com>
      Acked-by: NYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1d142804
  6. 21 12月, 2005 5 次提交
  7. 20 12月, 2005 3 次提交
  8. 14 12月, 2005 1 次提交
  9. 13 12月, 2005 1 次提交
  10. 09 12月, 2005 1 次提交
  11. 06 12月, 2005 1 次提交
  12. 03 12月, 2005 2 次提交
  13. 30 11月, 2005 2 次提交
  14. 29 11月, 2005 1 次提交
  15. 21 11月, 2005 1 次提交
  16. 20 11月, 2005 3 次提交
  17. 18 11月, 2005 1 次提交
  18. 17 11月, 2005 1 次提交
  19. 15 11月, 2005 6 次提交
  20. 13 11月, 2005 2 次提交
  21. 12 11月, 2005 1 次提交
  22. 11 11月, 2005 1 次提交
    • H
      [NET]: Detect hardware rx checksum faults correctly · fb286bb2
      Herbert Xu 提交于
      Here is the patch that introduces the generic skb_checksum_complete
      which also checks for hardware RX checksum faults.  If that happens,
      it'll call netdev_rx_csum_fault which currently prints out a stack
      trace with the device name.  In future it can turn off RX checksum.
      
      I've converted every spot under net/ that does RX checksum checks to
      use skb_checksum_complete or __skb_checksum_complete with the
      exceptions of:
      
      * Those places where checksums are done bit by bit.  These will call
      netdev_rx_csum_fault directly.
      
      * The following have not been completely checked/converted:
      
      ipmr
      ip_vs
      netfilter
      dccp
      
      This patch is based on patches and suggestions from Stephen Hemminger
      and David S. Miller.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fb286bb2