• Neil Horman's avatar
    ipv6: Check RA for sllao when configuring optimistic ipv6 address (v2) · e6bff995
    Neil Horman authored
    Recently Dave noticed that a test we did in ipv6_add_addr to see if we next hop
    route for the interface we're adding an addres to was wrong (see commit
    7ffbcecb).  for one, it never triggers, and two,
    it was completely wrong to begin with.  This test was meant to cover this
    section of RFC 4429:
    
    3.3 Modifications to RFC 2462 Stateless Address Autoconfiguration
    
       * (modifies section 5.5) A host MAY choose to configure a new address
            as an Optimistic Address.  A host that does not know the SLLAO
            of its router SHOULD NOT configure a new address as Optimistic.
            A router SHOULD NOT configure an Optimistic Address.
    
    This patch should bring us into proper compliance with the above clause.  Since
    we only add a SLAAC address after we've received a RA which may or may not
    contain a source link layer address option, we can pass a pointer to that option
    to addrconf_prefix_rcv (which may be null if the option is not present), and
    only set the optimistic flag if the option was found in the RA.
    
    Change notes:
    (v2) modified the new parameter to addrconf_prefix_rcv to be a bool rather than
    a pointer to make its use more clear as per request from davem.
    Signed-off-by: default avatarNeil Horman <nhorman@tuxdriver.com>
    CC: "David S. Miller" <davem@davemloft.net>
    CC: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e6bff995
addrconf.c 115 KB