A tunnel can be use to encapsulate packets in an IP header for transmitting over IP infrastructure. GRE [RFC2784] is a particular tunnelling protocol supported by Cisco routers which can carry different protocols over IPv4.
These commands will create an GRE tunnel with iproute2.
ip tunnel add <tunnel_name> mode gre local <local_ip_addr> remote <remote_ip_addr> ttl <0-255> ip link set <tunnel_name> up ip address add <tunnel_ip>/<subnet_mask> dev <tunnel_name>