• David Ahern's avatar
    net/ipv6: Defer initialization of dst to data path · 6edb3c96
    David Ahern authored
    Defer setting dst input, output and error until fib entry is copied.
    
    The reject path from ip6_route_info_create is moved to a new function
    ip6_rt_init_dst_reject with a helper doing the conversion from fib6_type
    to dst error.
    
    The remainder of the new ip6_rt_init_dst is an amalgamtion of dst code
    from addrconf_dst_alloc and the non-reject path of ip6_route_info_create.
    The dst output function is always ip6_output and the input function is
    either ip6_input (local routes), ip6_mc_input (multicast routes) or
    ip6_forward (anything else).
    
    A couple of places using dst.error are updated to look at rt6i_flags.
    Signed-off-by: default avatarDavid Ahern <dsahern@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    6edb3c96
route.c 129 KB