1. 04 3月, 2008 1 次提交
  2. 01 3月, 2008 1 次提交
  3. 29 1月, 2008 6 次提交
  4. 26 1月, 2008 1 次提交
    • R
      IPoIB: improve IPv4/IPv6 to IB mcast mapping functions · a9e527e3
      Rolf Manderscheid 提交于
      An IPoIB subnet on an IB fabric that spans multiple IB subnets can't
      use link-local scope in multicast GIDs.  The existing routines that
      map IP/IPv6 multicast addresses into IB link-level addresses hard-code
      the scope to link-local, and they also leave the partition key field
      uninitialised.  This patch adds a parameter (the link-level broadcast
      address) to the mapping routines, allowing them to initialise both the
      scope and the P_Key appropriately, and fixes up the call sites.
      
      The next step will be to add a way to configure the scope for an IPoIB
      interface.
      Signed-off-by: NRolf Manderscheid <rvm@obsidianresearch.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      a9e527e3
  5. 21 12月, 2007 1 次提交
  6. 13 11月, 2007 1 次提交
  7. 30 10月, 2007 1 次提交
  8. 19 10月, 2007 1 次提交
  9. 11 10月, 2007 5 次提交
    • P
      [IPv6]: Export userland ND options through netlink (RDNSS support) · 31910575
      Pierre Ynard 提交于
      As discussed before, this patch provides userland with a way to access
      relevant options in Router Advertisements, after they are processed
      and validated by the kernel. Extra options are processed in a generic
      way; this patch only exports RDNSS options described in RFC5006, but
      support to control which options are exported could be easily added.
      
      A new rtnetlink message type is defined, to transport Neighbor
      Discovery options, along with optional context information. At the
      moment only the address of the router sending an RDNSS option is
      included, but additional attributes may be later defined, if needed by
      new use cases.
      Signed-off-by: NPierre Ynard <linkfanel@yahoo.fr>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      31910575
    • S
      [NET]: sparse warning fixes · cfcabdcc
      Stephen Hemminger 提交于
      Fix a bunch of sparse warnings. Mostly about 0 used as
      NULL pointer, and shadowed variable declarations.
      One notable case was that hash size should have been unsigned.
      Signed-off-by: NStephen Hemminger <shemminger@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cfcabdcc
    • S
      [NET]: Move hardware header operations out of netdevice. · 3b04ddde
      Stephen Hemminger 提交于
      Since hardware header operations are part of the protocol class
      not the device instance, make them into a separate object and
      save memory.
      Signed-off-by: NStephen Hemminger <shemminger@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3b04ddde
    • D
      [IPV6]: Add ICMPMsgStats MIB (RFC 4293) [rev 2] · 14878f75
      David L Stevens 提交于
      Background: RFC 4293 deprecates existing individual, named ICMP
      type counters to be replaced with the ICMPMsgStatsTable. This table
      includes entries for both IPv4 and IPv6, and requires counting of all
      ICMP types, whether or not the machine implements the type.
      
      These patches "remove" (but not really) the existing counters, and
      replace them with the ICMPMsgStats tables for v4 and v6.
      It includes the named counters in the /proc places they were, but gets the
      values for them from the new tables. It also counts packets generated
      from raw socket output (e.g., OutEchoes, MLD queries, RA's from
      radvd, etc).
      
      Changes:
      1) create icmpmsg_statistics mib
      2) create icmpv6msg_statistics mib
      3) modify existing counters to use these
      4) modify /proc/net/snmp to add "IcmpMsg" with all ICMP types
              listed by number for easy SNMP parsing
      5) modify /proc/net/snmp printing for "Icmp" to get the named data
              from new counters.
      [new to 2nd revision]
      6) support per-interface ICMP stats
      7) use common macro for per-device stat macros
      Signed-off-by: NDavid L Stevens <dlstevens@us.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      14878f75
    • E
      [NET]: Make device event notification network namespace safe · e9dc8653
      Eric W. Biederman 提交于
      Every user of the network device notifiers is either a protocol
      stack or a pseudo device.  If a protocol stack that does not have
      support for multiple network namespaces receives an event for a
      device that is not in the initial network namespace it quite possibly
      can get confused and do the wrong thing.
      
      To avoid problems until all of the protocol stacks are converted
      this patch modifies all netdev event handlers to ignore events on
      devices that are not in the initial network namespace.
      
      As the rest of the code is made network namespace aware these
      checks can be removed.
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e9dc8653
  10. 08 10月, 2007 1 次提交
    • B
      [IPv6]: Fix ICMPv6 redirect handling with target multicast address · bf0b48df
      Brian Haley 提交于
      When the ICMPv6 Target address is multicast, Linux processes the 
      redirect instead of dropping it.  The problem is in this code in 
      ndisc_redirect_rcv():
      
               if (ipv6_addr_equal(dest, target)) {
                       on_link = 1;
               } else if (!(ipv6_addr_type(target) & IPV6_ADDR_LINKLOCAL)) {
                       ND_PRINTK2(KERN_WARNING
                                  "ICMPv6 Redirect: target address is not 
      link-local.\n");
                       return;
               }
      
      This second check will succeed if the Target address is, for example, 
      FF02::1 because it has link-local scope.  Instead, it should be checking 
      if it's a unicast link-local address, as stated in RFC 2461/4861 Section 
      8.1:
      
             - The ICMP Target Address is either a link-local address (when
               redirected to a router) or the same as the ICMP Destination
               Address (when redirected to the on-link destination).
      
      I know this doesn't explicitly say unicast link-local address, but it's 
      implied.
      
      This bug is preventing Linux kernels from achieving IPv6 Logo Phase II 
      certification because of a recent error that was found in the TAHI test 
      suite - Neighbor Disovery suite test 206 (v6LC.2.3.6_G) had the 
      multicast address in the Destination field instead of Target field, so 
      we were passing the test.  This won't be the case anymore.
      
      The patch below fixes this problem, and also fixes ndisc_send_redirect() 
      to not send an invalid redirect with a multicast address in the Target 
      field.  I re-ran the TAHI Neighbor Discovery section to make sure Linux 
      passes all 245 tests now.
      Signed-off-by: NBrian Haley <brian.haley@hp.com>
      Acked-by: NDavid L Stevens <dlstevens@us.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bf0b48df
  11. 11 9月, 2007 1 次提交
  12. 23 6月, 2007 1 次提交
  13. 26 4月, 2007 11 次提交
  14. 11 2月, 2007 1 次提交
  15. 31 1月, 2007 1 次提交
    • L
      [IPV6]: fix BUG of ndisc_send_redirect() · 29556526
      Li Yewang 提交于
        When I tested IPv6 redirect function about kernel 2.6.19.1, and found
      that the kernel can send redirect packets whose target address is global
      address, and the target is not the actual endpoint of communication.
      
        But the criteria conform to RFC2461, the target address defines as
      following:
      
        Target Address An IP address that is a better first hop to use for
                       he ICMP Destination Address.  When the target is
                       the actual endpoint of communication, i.e., the
                       destination is a neighbor, the Target Address field
                       MUST contain the same value as the ICMP Destination
                       Address field.  Otherwise the target is a better
                       first-hop router and the Target Address MUST be the
                       router's link-local address so that hosts can
                       uniquely identify routers.
      
      According to this definition, when a router redirect to a host, the
      target address either the better first-hop router's link-local address
      or the same as the ICMP destination address field. But the function of
      ndisc_send_redirect() in net/ipv6/ndisc.c, does not check the target
      address correctly.
      
      There is another definition about receive Redirect message in RFC2461:
      
      8.1.  Validation of Redirect Messages
      
         A host MUST silently discard any received Redirect message that does
         not satisfy all of the following validity checks:
         ......
         - The ICMP Target Address is either a link-local address (when
           redirected to a router) or the same as the ICMP Destination
           Address (when redirected to the on-link destination).
         ......
      
      And the receive redirect function of ndisc_redirect_rcv() implemented
      this definition, checks the target address correctly.
          if (ipv6_addr_equal(dest, target)) {
              on_link = 1;
          } else if (!(ipv6_addr_type(target) & IPV6_ADDR_LINKLOCAL)) {
              ND_PRINTK2(KERN_WARNING
                     "ICMPv6 Redirect: target address is not link-local.\n");
              return;
          }
      
      So, I think the send redirect function must check the target address
      also.
      Signed-off-by: NLi Yewang <lyw@nanjing-fnst.com>
      Acked-by: NYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      29556526
  16. 11 12月, 2006 1 次提交
  17. 03 12月, 2006 3 次提交
  18. 06 11月, 2006 1 次提交
  19. 16 10月, 2006 1 次提交