On Sat, Nov 28, 2020 at 12:18:26PM +0100, Pierre Emeriaud wrote:
> Hi,
>
> mgre(4) does not appear to be documented well, I had to find David's
> "mgre(4): point-to-multipoint gre tunnels" mail to understand how gre
> endpoints are found.
>
>
hi.
an mgre example seems conspicuous by its absence, so i'd say adding one
seems helpful. some comments inline:
>
> Index: share/man/man4/gre.4
> ===================================================================
> RCS file: /cvs/src/share/man/man4/gre.4,v
> retrieving revision 1.79
> diff -u -p -u -r1.79 gre.4
> --- share/man/man4/gre.4 18 Nov 2020 16:19:54 -0000 1.79
> +++ share/man/man4/gre.4 27 Nov 2020 23:29:39 -0000
> @@ -455,6 +455,66 @@ In most cases the following should work:
> .Bd -literal -offset indent
> pass quick on gre proto gre no state
> .Ed
> +.Ss Point-to-Multipoint Layer 3 GRE tunnel interfaces (mgre) example
> +.Nm mgre
> +can be used to build a point-to-multipoint tunnel network to several
> +hosts using a single
> +.Nm mgre
> +interface.
> +.Pp
> +In this example the host A has an outer IP of 198.51.100.12, host
> +B has 203.0.113.27, and host C has 203.0.113.254. Adressing within
new sentence, new line
s/Adressing/Addressing/
> +the tunnel is done using 192.0.2.0/24.
s/./:/
> +.Bd -literal
add "-offset indent" to match the other examples
> + +--- Host B
> + /
> + /
> +Host A --- tunnel ---+
> + \e
> + \e
> + +--- Host C
> +.Ed
> +.Pp
> +On Host A:
> +.Bd -literal -offset indent
> +# ifconfig mgreN create
> +# ifconfig mgreN tunneladdr 198.51.100.12
> +# ifconfig mgreN inet 192.0.2.1 netmask 0xffffff00 up
> +.Ed
> +.Pp
> +On Host B:
> +.Bd -literal -offset indent
> +# ifconfig mgreN create
> +# ifconfig mgreN tunneladdr 203.0.113.27
> +# ifconfig mgreN inet 192.0.2.2 netmask 0xffffff00 up
> +.Ed
> +.Pp
> +On Host C:
> +.Bd -literal -offset indent
> +# ifconfig mgreN create
> +# ifconfig mgreN tunneladdr 203.0.113.254
> +# ifconfig mgreN inet 192.0.2.3 netmask 0xffffff00 up
> +.Ed
> +.Pp
> +To reach Host B over the tunnel (from Host A), there has to be a
> +route on Host A specifying the next-hop:
> +.Pp
> +.Dl # route add -host 192.0.2.2 203.0.113.27 -iface -ifp mgreN
> +.Pp
> +Similarly, to reach Host A over the tunnel from Host B, a route must
> +be present on B with A's outer IP as next-hop:
> +.Pp
> +.Dl # route add -host 192.0.2.1 198.51.100.12 -iface -ifp mgreN
> +.Pp
> +The same tunnel interface can be then used between host B and C by
s/be then/then be/
> +adding the appropriate routes, making the network any-to-any instead
> +of hub-and-spoke:
> +.Pp
> +On Host B:
> +.Dl # route add -host 192.0.2.3 203.0.113.254 -iface -ifp mgreN
> +.Pp
> +On Host C:
> +.Dl # route add -host 192.0.2.2 203.0.113.27 -iface -ifp mgreN
> .Ss Point-to-Point Ethernet over GRE tunnel interfaces (egre) example
> .Nm egre
> can be used to carry Ethernet traffic between two endpoints over
>
finally:
$ mandoc -Tlint gre.4
make sure the diff doesn;t add any issues!
jmc