On Thu, Jul 30, 2020 at 04:08:01AM +0200, Klemens Nanni wrote:
> Multiple rtables may exist in the default rdomain (0), that is their
> corresponding rdomains/lo(4) interfaces do not have to exist.
>
> This demonstrates it; first, nothing but default, so route(8) fails:
>
> # netstat -R
> Rdomain 0
> Interfaces: lo0 vio0 enc0
> Routing table: 0
>
> # route -T1 exec id -R
> route: routing table 1: No such file or directory
>
> Then create an rdomain and with it an rtable:
>
> # ifconfig lo1 rdomain 1
> # netstat -R
> Rdomain 0
> Interfaces: lo0 vio0 enc0
> Routing table: 0
>
> Rdomain 1
> Interface: lo1
> Routing table: 1
>
> This makes route(8) work, but it keeps working when we remove the
> rdomain again since the rtable persits:
>
> # route -T1 exec id -R
> 1
> # ifconfig lo1 destroy
> # netstat -R
> Rdomain 0
> Interfaces: lo0 vio0 enc0
> Routing tables: 0 1
>
> # route -T1 exec id -R
> 1
>
>
> I'm not sure yet, whether this is intentional or in fact a bug.
> Either ways, the manual should be fixed - route(8)'s synopsis says the
> same, just like ping(8)'s `-V rtable':
>
> $ man -hs8 route
> route [-dnqtv] [-T rtable] command [[modifiers] args]
>
> Feedback? Objections? OK?
>
OK remi@
>
> Index: share/man/man4/rdomain.4
> ===
> RCS file: /cvs/src/share/man/man4/rdomain.4,v
> retrieving revision 1.13
> diff -u -p -r1.13 rdomain.4
> --- share/man/man4/rdomain.4 1 Feb 2020 15:00:20 - 1.13
> +++ share/man/man4/rdomain.4 30 Jul 2020 01:56:39 -
> @@ -98,7 +98,7 @@ Put em0 and lo4 in rdomain 4:
> # ifconfig em0 192.0.2.100/24
> .Ed
> .Pp
> -Set a default route and localhost reject route within rdomain 4:
> +Set a default route and localhost reject route within rtable 4:
> .Bd -literal -offset indent
> # route -T4 -qn add -net 127 127.0.0.1 -reject
> # route -T4 -n add default 192.0.2.1
> @@ -106,7 +106,7 @@ Set a default route and localhost reject
> .Pp
> Start
> .Xr sshd 8
> -in rdomain 4:
> +in rtable 4:
> .Pp
> .Dl # route -T4 exec /usr/sbin/sshd
> .Pp
>