tunl3or, alternatively, compile it as module and load new module for each new tunnel. Also, module
ipipwas necessary to receive tunneled packets.
2.2 has one module
ipip. Loading it you get base
tunl0 and another tunnels may be created with command
ip tunnel add. These new devices may have arbitrary names.
In 2.2 this command has the same semantics on all
the interfaces, namely it sets not tunnel endpoint,
but address of peering host, which is directly reachable
via this tunnel,
rather than via Internet. Actual tunnel endpoint address
should be set with
ip tunnel add ... remote A.
route add -net 10.0.0.0 gw A dev tunl0
2.2 interprets this command equally for all device
kinds and gateway is required to be directly reachable via this tunnel,
rather than via Internet. You still may use
ip route add ... onlink
to override this behaviour.