Currently close(2) erroneously return EOPNOTSUPP for PF_ROUTE sockets. It happened after making rtsock socket implementation self-contained.
Current rtsock code marks socket as connected in rts_attach(). soclose() tries to disconnect such socket using .pr_disconnect callback.
rtsock does not implement this callback, resulting in the default method being substituted. This default method returns ENOTSUPP, failing soclose() logic.
This diff restores the previous behaviour by adding custom pr_disconnect() returning ENOTCONN.