Skip to content
  1. Mar 07, 2008
  2. Mar 06, 2008
  3. Mar 05, 2008
  4. Mar 04, 2008
  5. Feb 29, 2008
  6. Jan 28, 2008
  7. Jan 25, 2008
    • Rolf Manderscheid's avatar
      IPoIB: improve IPv4/IPv6 to IB mcast mapping functions · a9e527e3
      Rolf Manderscheid authored
      
      
      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: default avatarRolf Manderscheid <rvm@obsidianresearch.com>
      Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
      a9e527e3
  8. Dec 20, 2007
  9. Nov 13, 2007
  10. Oct 30, 2007
  11. Oct 18, 2007
  12. Oct 11, 2007
    • Pierre Ynard's avatar
      [IPv6]: Export userland ND options through netlink (RDNSS support) · 31910575
      Pierre Ynard authored
      
      
      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: default avatarPierre Ynard <linkfanel@yahoo.fr>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      31910575
  13. Oct 10, 2007
  14. Oct 08, 2007
    • Brian Haley's avatar
      [IPv6]: Fix ICMPv6 redirect handling with target multicast address · bf0b48df
      Brian Haley authored
      
      
      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: default avatarBrian Haley <brian.haley@hp.com>
      Acked-by: default avatarDavid L Stevens <dlstevens@us.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bf0b48df
  15. Sep 11, 2007
  16. Jun 22, 2007
  17. Apr 26, 2007
  18. Feb 11, 2007
  19. Jan 30, 2007
    • Li Yewang's avatar
      [IPV6]: fix BUG of ndisc_send_redirect() · 29556526
      Li Yewang authored
      
      
        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: default avatarLi Yewang <lyw@nanjing-fnst.com>
      Acked-by: default avatarYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      29556526
  20. Dec 10, 2006
Loading