1. 23 9月, 2006 21 次提交
  2. 21 9月, 2006 3 次提交
  3. 18 9月, 2006 2 次提交
  4. 01 9月, 2006 1 次提交
  5. 30 8月, 2006 2 次提交
    • K
      [IPV6]: ipv6_add_addr should install dstentry earlier · 57f5f544
      Keir Fraser 提交于
      ipv6_add_addr allocates a struct inet6_ifaddr and a dstentry, but it
      doesn't install the dstentry in ifa->rt until after it releases the
      addrconf_hash_lock. This means other CPUs will be able to see the new
      address while it hasn't been initialized completely yet.
      
      One possible fix would be to grab the ifp->lock spinlock when
      creating the address struct; a simpler fix is to just move the
      assignment.
      
      Acked-by: jbeulich@novell.com
      Acked-by: okir@suse.de
      Acked-by: NYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      57f5f544
    • L
      [IPV6]: SNMPv2 "ipv6IfStatsInAddrErrors" counter error · 76d0cc1b
      Lv Liangying 提交于
         When I tested Linux kernel 2.6.17.7 about statistics
      "ipv6IfStatsInAddrErrors", found that this counter couldn't increase
      correctly. The criteria is RFC2465:
       ipv6IfStatsInAddrErrors OBJECT-TYPE
            SYNTAX      Counter32
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
               "The number of input datagrams discarded because
               the IPv6 address in their IPv6 header's destination
               field was not a valid address to be received at
               this entity.  This count includes invalid
               addresses (e.g., ::0) and unsupported addresses
               (e.g., addresses with unallocated prefixes).  For
               entities which are not IPv6 routers and therefore
               do not forward datagrams, this counter includes
               datagrams discarded because the destination address
               was not a local address."
            ::= { ipv6IfStatsEntry 5 }
      
      When I send packet to host with destination that is ether invalid
      address(::0) or unsupported addresses(1::1), the Linux kernel just
      discard the packet, and the counter doesn't increase(in the function
      ip6_pkt_discard).
      Signed-off-by: NLv Liangying <lvly@nanjing-fnst.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      76d0cc1b
  6. 27 8月, 2006 1 次提交
  7. 18 8月, 2006 2 次提交
  8. 14 8月, 2006 2 次提交
  9. 10 8月, 2006 1 次提交
  10. 03 8月, 2006 5 次提交
    • W
      [IPV6]: SNMPv2 "ipv6IfStatsOutFragCreates" counter error · dafee490
      Wei Dong 提交于
        When I tested linux kernel 2.6.71.7 about statistics
      "ipv6IfStatsOutFragCreates", and found that it couldn't increase
      correctly. The criteria is RFC 2465:
      
        ipv6IfStatsOutFragCreates OBJECT-TYPE
            SYNTAX      Counter32
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
               "The number of output datagram fragments that have
               been generated as a result of fragmentation at
               this output interface."
            ::= { ipv6IfStatsEntry 15 }
      
      I think there are two issues in Linux kernel. 
      1st:
      RFC2465 specifies the counter is "The number of output datagram
      fragments...". I think increasing this counter after output a fragment
      successfully is better. And it should not be increased even though a
      fragment is created but failed to output.
      
      2nd:
      If we send a big ICMP/ICMPv6 echo request to a host, and receive
      ICMP/ICMPv6 echo reply consisted of some fragments. As we know that in
      Linux kernel first fragmentation occurs in ICMP layer(maybe saying
      transport layer is better), but this is not the "real"
      fragmentation,just do some "pre-fragment" -- allocate space for date,
      and form a frag_list, etc. The "real" fragmentation happens in IP layer
      -- set offset and MF flag and so on. So I think in "fast path" for
      ip_fragment/ip6_fragment, if we send a fragment which "pre-fragment" by
      upper layer we should also increase "ipv6IfStatsOutFragCreates".
      Signed-off-by: NWei Dong <weid@nanjing-fnst.com>
      Acked-by: NYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      dafee490
    • W
      [IPV6]: SNMPv2 "ipv6IfStatsInHdrErrors" counter error · 32c524d1
      Wei Dong 提交于
        When I tested Linux kernel 2.6.17.7 about statistics
      "ipv6IfStatsInHdrErrors", found that this counter couldn't increase
      correctly. The criteria is RFC2465:
        ipv6IfStatsInHdrErrors OBJECT-TYPE
            SYNTAX     Counter3
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
               "The number of input datagrams discarded due to
               errors in their IPv6 headers, including version
               number mismatch, other format errors, hop count
               exceeded, errors discovered in processing their
               IPv6 options, etc."
            ::= { ipv6IfStatsEntry 2 }
      
      When I send TTL=0 and TTL=1 a packet to a router which need to be
      forwarded, router just sends an ICMPv6 message to tell the sender that
      TIME_EXCEED and HOPLIMITS, but no increments for this counter(in the
      function ip6_forward).
      Signed-off-by: NWei Dong <weid@nanjing-fnst.com>
      Acked-by: NYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      32c524d1
    • T
      [NET]: Core net changes to generate netevents · 8d71740c
      Tom Tucker 提交于
      Generate netevents for:
      - neighbour changes
      - routing redirects
      - pmtu changes
      Signed-off-by: NTom Tucker <tom@opengridcomputing.com>
      Signed-off-by: NSteve Wise <swise@opengridcomputing.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8d71740c
    • W
      [TCP]: SNMPv2 tcpAttemptFails counter error · 3687b1dc
      Wei Yongjun 提交于
      Refer to RFC2012, tcpAttemptFails is defined as following:
        tcpAttemptFails OBJECT-TYPE
            SYNTAX      Counter32
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                    "The number of times TCP connections have made a direct
                    transition to the CLOSED state from either the SYN-SENT
                    state or the SYN-RCVD state, plus the number of times TCP
                    connections have made a direct transition to the LISTEN
                    state from the SYN-RCVD state."
            ::= { tcp 7 }
      
      When I lookup into RFC793, I found that the state change should occured
      under following condition:
        1. SYN-SENT -> CLOSED
           a) Received ACK,RST segment when SYN-SENT state.
      
        2. SYN-RCVD -> CLOSED
           b) Received SYN segment when SYN-RCVD state(came from LISTEN).
           c) Received RST segment when SYN-RCVD state(came from SYN-SENT).
           d) Received SYN segment when SYN-RCVD state(came from SYN-SENT).
      
        3. SYN-RCVD -> LISTEN
           e) Received RST segment when SYN-RCVD state(came from LISTEN).
      
      In my test, those direct state transition can not be counted to
      tcpAttemptFails.
      Signed-off-by: NWei Yongjun <yjwei@nanjing-fnst.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3687b1dc
    • H
      [IPV6]: Audit all ip6_dst_lookup/ip6_dst_store calls · 497c615a
      Herbert Xu 提交于
      The current users of ip6_dst_lookup can be divided into two classes:
      
      1) The caller holds no locks and is in user-context (UDP).
      2) The caller does not want to lookup the dst cache at all.
      
      The second class covers everyone except UDP because most people do
      the cache lookup directly before calling ip6_dst_lookup.  This patch
      adds ip6_sk_dst_lookup for the first class.
      
      Similarly ip6_dst_store users can be divded into those that need to
      take the socket dst lock and those that don't.  This patch adds
      __ip6_dst_store for those (everyone except UDP/datagram) that don't
      need an extra lock.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      497c615a