• David Ahern's avatar
    ipv6: Change addrconf_f6i_alloc to use ip6_route_info_create · c7a1ce39
    David Ahern authored
    Change addrconf_f6i_alloc to generate a fib6_config and call
    ip6_route_info_create. addrconf_f6i_alloc is the last caller to
    fib6_info_alloc besides ip6_route_info_create, and there is no
    reason for it to do its own initialization on a fib6_info.
    
    Host routes need to be created even if the device is down, so add a
    new flag, fc_ignore_dev_down, to fib6_config and update fib6_nh_init
    to not error out if device is not up.
    
    Notes on the conversion:
    - ip_fib_metrics_init is the same as fib6_config has fc_mx set to NULL
      and fc_mx_len set to 0
    - dst_nocount is handled by the RTF_ADDRCONF flag
    - dst_host is handled by fc_dst_len = 128
    
    nh_gw does not get set after the conversion to ip6_route_info_create
    but it should not be set in addrconf_f6i_alloc since this is a host
    route not a gateway route.
    
    Everything else is a straight forward map between fib6_info and
    fib6_config.
    Signed-off-by: default avatarDavid Ahern <dsahern@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c7a1ce39
ip6_fib.h 12.8 KB