diff --git a/stack/erp5/buildout.cfg b/stack/erp5/buildout.cfg
index 202ba1ef5e64e4bd8a55722f26970f6cd21a7dec..6837ced1e8082d43bed6b6f47fdea4acd5bd8f42 100644
--- a/stack/erp5/buildout.cfg
+++ b/stack/erp5/buildout.cfg
@@ -217,7 +217,7 @@ md5sum = e40e2e39f4941c6372f4357e8589a5cf
 # XXX: "template.cfg" is hardcoded in instanciation recipe
 filename = template.cfg
 template = ${:_profile_base_location_}/instance.cfg.in
-md5sum = 0933c874f99e6ffb36e390729ddd89a0
+md5sum = 79bc92c8d6ad75e78b901e96c8804314
 extra-context =
     key mariadb_link_binary template-mariadb:link-binary
     key zope_link_binary template-zope:link-binary
@@ -293,12 +293,12 @@ md5sum = 386f5f15d71636f855f22201d38367e5
 [template-zeo]
 < = download-base
 filename = instance-zeo.cfg.in
-md5sum = 651fa2ec2feb768e339936b7855774ca
+md5sum = 6bf4c5f7f476d420b2429dd0eca8ec0b
 
 [template-zope]
 < = download-base
 filename = instance-zope.cfg.in
-md5sum = 7f185192e0536ecacc403cf6b1736d2d
+md5sum = 5ffaadfb2d465cba53bcbc4287df041e
 link-binary =
   ${aspell:location}/bin/aspell
   ${coreutils:location}/bin/basename
diff --git a/stack/erp5/instance-zeo.cfg.in b/stack/erp5/instance-zeo.cfg.in
index 6222b408741c79e08376830ce7f47b311529dfaf..7a0815fc95b3285e1c163e8da64664c8a9c355d3 100644
--- a/stack/erp5/instance-zeo.cfg.in
+++ b/stack/erp5/instance-zeo.cfg.in
@@ -1,4 +1,3 @@
-{% set use_ipv6 = slapparameter_dict.get('use-ipv6', False) -%}
 {% set next_port = slapparameter_dict['tcpv4-port'] -%}
 {% set part_list = [] -%}
 {% set storage_dict = {} -%}
@@ -9,10 +8,6 @@
 {% set zodb_backup_path = buildout_directory ~ '/srv/backup/zodb' -%}
 {% set default_tidstorage_timestamp_path = buildout_directory ~ '/srv/backup/tidstorage' -%}
 {% macro section(name) %}{% do part_list.append(name) %}{{ name }}{% endmacro -%}
-{#
-XXX: This template only supports exactly one IPv6 per
-partition. No more (undefined result), no less (IndexError).
--#}
 {% set ipv4 = (ipv4_set | list)[0] -%}
 {% set tidstorage_ip = ipv4 -%}
 {% set tidstorage_port = 6001 -%}
@@ -32,17 +27,6 @@ wrapper-path = ${directory:services}/${:base-name}
 binary-path = {{ bin_directory }}/runzeo
 ip = {{ ipv4 }}
 
-{% if use_ipv6 -%}
-{% set ipv6 = (ipv6_set | list)[0] -%}
-[ipv6toipv4-base]
-recipe = slapos.cookbook:ipv6toipv4
-runner-path = ${directory:services}/${:base-name}
-6tunnel-path = {{ parameter_dict['6tunnel'] }}/bin/6tunnel
-shell-path = {{ parameter_dict['dash'] }}/bin/dash
-ipv4 = {{ ipv4 }}
-ipv6 = {{ ipv6 }}
-{% endif -%}
-
 {% set backup_directory_list = [] -%}
 {% for export_id, mountpoint_dict in slapparameter_dict['zodb-dict'].items() -%}
 {%   do storage_dict.setdefault(
@@ -101,23 +85,7 @@ hostname = {{ "${" ~ zeo_section_name ~ ":ip}" }}
 port = {{ next_port }}
 path = ${directory:promises}/zeo-{{ storage_family }}
 
-{%   if use_ipv6 -%}
-{%     set address = '[' ~ ipv6 ~ ']:' ~ next_port -%}
-{%     set tunnel_section_name = zeo_section_name ~ "-tunnel" -%}
-[{{ tunnel_section_name }}]
-< = ipv6toipv4-base
-base-name = zeo-tunnel-{{ storage_family }}
-ipv6-port = {{ next_port }}
-ipv4-port = {{ next_port }}
-
-[{{ section(tunnel_section_name ~ "-promise") }}]
-recipe = slapos.cookbook:check_port_listening
-hostname = {{ "${" ~ tunnel_section_name ~ ":ipv6}" }}
-port = {{ next_port }}
-path = ${directory:promises}/zeo-tunnel-{{ storage_family }}
-{%   else -%}
-{%     set address = ipv4 ~ ':' ~ next_port -%}
-{%   endif -%}
+{%   set address = ipv4 ~ ':' ~ next_port -%}
 {%   for export in export_list -%}
 {%     do zodb_dict[export[0]][2].__setitem__('server', address) -%}
 {%   endfor -%}
@@ -147,20 +115,6 @@ hostname = ${tidstorage:ip}
 port = ${tidstorage:port}
 path = ${directory:promises}/tidstorage
 
-{%  if use_ipv6 -%}
-[tidstorage-tunnel]
-< = ipv6toipv4-base
-base-name = tidstorage-tunnel
-ipv4-port = ${tidstorage:port}
-ipv6-port = ${tidstorage:port}
-
-[{{ section("promise-tidstorage-tunnel") }}]
-recipe = slapos.cookbook:check_port_listening
-hostname = ${tidstorage-tunnel:ipv6}
-port = ${tidstorage-tunnel:ipv6-port}
-path = ${directory:promises}/tidstorage
-{% endif -%}
-
 [{{ section("cron-entry-tidstorage-backup") }}]
 # TODO:
 # - configurable full/incremental
@@ -194,23 +148,14 @@ post = {{ bin_directory }}/slapos-kill --pidfile ${tidstorage:pidfile-name} -s H
 [tidstorage]
 ip =
 port =
-
-[tidstorage-tunnel]
-ipv6 =
-ipv6-port =
 {% endif -%}
 
 [publish]
 recipe = slapos.cookbook:publish.serialised
 zodb-storage-type = zeoclient
 zodb-dict = {{ dumps(zodb_dict) }}
-{% if use_ipv6 -%}
-tidstorage-ip = ${tidstorage-tunnel:ipv6}
-tidstorage-port = ${tidstorage-tunnel:ipv6-port}
-{% else -%}
 tidstorage-ip = ${tidstorage:ip}
 tidstorage-port = ${tidstorage:port}
-{% endif -%}
 
 [directory]
 recipe = slapos.cookbook:mkdirectory
diff --git a/stack/erp5/instance-zope.cfg.in b/stack/erp5/instance-zope.cfg.in
index 01d1ddf22a8f6850a5594af601d43c6a97e0ad21..f4a786883d7215d8ab5011323eeb53b04e63b78a 100644
--- a/stack/erp5/instance-zope.cfg.in
+++ b/stack/erp5/instance-zope.cfg.in
@@ -100,49 +100,6 @@ wrapper = ${directory:services}/ca
 
 {% if use_ipv6 -%}
 {%   set ipv6 = (ipv6_set | list)[0] -%}
-[zeo-tunnel-base]
-recipe = slapos.cookbook:ipv4toipv6
-runner-path = ${directory:services}/${:base-name}
-6tunnel-path = {{ parameter_dict['6tunnel'] }}/bin/6tunnel
-shell-path = {{ parameter_dict['dash'] }}/bin/dash
-ipv4 = {{ ipv4 }}
-
-{%   if storage_type == 'zeoclient' -%}
-{#     ZEO needs tunelling for IPv6 (...until next version becomes current in Zope) -#}
-{%     set zeo_tunneling_dict = {} -%}
-{%     for _, _, storage_dict in zodb_dict.values() -%}
-{%       set storage_server = storage_dict['server'] -%}
-{%       if storage_server not in zeo_tunneling_dict -%}
-{%         set current_port = next_port + (zeo_tunneling_dict | length) -%}
-{%         do zeo_tunneling_dict.__setitem__(storage_server, current_port) -%}
-[{{ section('zeo-tunnel-' ~ current_port) }}]
-< = zeo-tunnel-base
-base-name = {{ 'zeo-tunnel-' ~ current_port }}
-ipv4-port = {{ current_port }}
-ipv6-port = {{ storage_server.split(']:')[1] }}
-ipv6 = {{ storage_server.split(']:')[0][1:] }}
-{%       endif -%}
-{%       do storage_dict.__setitem__('server', '' ~ ipv4 ~ ':' ~ zeo_tunneling_dict[storage_server]) -%}
-{%     endfor -%}
-{%     set next_port = next_port + (zeo_tunneling_dict | length) -%}
-{%   endif -%}
-{%   if slapparameter_dict.get('tidstorage-ip') -%}
-[tidstorage-tunnel]
-< = zeo-tunnel-base
-base-name = tidstorage-tunnel
-ipv4-port = {{ next_port }}
-ipv6 = {{ dumps(slapparameter_dict.get('tidstorage-ip')) }}
-ipv6-port = {{ dumps(slapparameter_dict.get('tidstorage-port')) }}
-{%     do slapparameter_dict.__setitem__('tidstorage-ip', ipv4) -%}
-{%     do slapparameter_dict.__setitem__('tidstorage-port', next_port) -%}
-{%     set next_port = next_port + 1 -%}
-
-[{{ section("promise-tidstorage-tunnel") }}]
-recipe = slapos.cookbook:check_port_listening
-hostname = ${tidstorage-tunnel:ipv4}
-port = ${tidstorage-tunnel:ipv4-port}
-path = ${directory:promises}/tidstorage
-{%   endif -%}
 
 [ipv6toipv4-base]
 recipe = slapos.cookbook:ipv6toipv4
diff --git a/stack/erp5/instance.cfg.in b/stack/erp5/instance.cfg.in
index 7e20c9a33a97d782d1f1662a0c288d193883b6d7..7033ca0a5ea7c1b784c1e113be49c0802bb1571f 100644
--- a/stack/erp5/instance.cfg.in
+++ b/stack/erp5/instance.cfg.in
@@ -92,8 +92,6 @@ extra-context =
 
 [dynamic-template-zeo-parameters]
 buildout-bin-directory = {{ buildout_bin_directory }}
-6tunnel = {{ sixtunnel_location }}
-dash = {{ dash_location }}
 findutils-location = {{ findutils_location }}
 
 [dynamic-template-zeo]