Skip to content
  • Thomas Haller's avatar
    platform: return failure reason from route-add and return only netlink response · 774c8a81
    Thomas Haller authored
    Let nm_platform_ip_route_add() and friends return an NMPlatformError
    failure reason.
    
    Also, do_add_addrroute() did not return the response from kernel.
    Instead, it determined success/failure based on the presence of the
    object in the cache. That is racy and does not allow to give a failure
    reason from kernel.
    
    Instead, determine success solely based on the netlink reply from
    kernel. The received errno shall be authorative, there is no need
    to second guess the response.
    
    There is a problem that netlink is not a reliable protocol. In case
    of receive buffer overflow, the response is lost and we don't know
    whether the command succeeded (it likely did). It's unclear how to fix
    that, but for now just return "unspecified" error. We probably avoid
    that already by having a huge buffer size.
    
    Also, downgrade the error message to <warn> level. <error> is really
    for bugs only.
    774c8a81