Re: rdomain.4: route -T takes an rtable, not rdomain

2020-07-30 Thread Remi Locherer
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
> 



rdomain.4: route -T takes an rtable, not rdomain

2020-07-29 Thread Klemens Nanni
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?


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.41 Feb 2020 15:00:20 -   1.13
+++ share/man/man4/rdomain.430 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