diff --git a/interface-definitions/interfaces-tunnel.xml.in b/interface-definitions/interfaces-tunnel.xml.in
index 4c3fc2e70..56f8ea79c 100644
--- a/interface-definitions/interfaces-tunnel.xml.in
+++ b/interface-definitions/interfaces-tunnel.xml.in
@@ -1,309 +1,312 @@
 <?xml version="1.0"?>
 <interfaceDefinition>
   <node name="interfaces">
     <children>
       <tagNode name="tunnel" owner="${vyos_conf_scripts_dir}/interfaces-tunnel.py">
         <properties>
           <help>Tunnel interface</help>
           <priority>380</priority>
           <constraint>
             <regex>^tun[0-9]+$</regex>
           </constraint>
           <constraintErrorMessage>tunnel interface must be named tunN</constraintErrorMessage>
           <valueHelp>
             <format>tunN</format>
             <description>Tunnel interface name</description>
           </valueHelp>
         </properties>
         <children>
           #include <include/interface/interface-description.xml.i>
           #include <include/interface/address-ipv4-ipv6.xml.i>
           #include <include/interface/interface-disable.xml.i>
           #include <include/interface/interface-disable-link-detect.xml.i>
           #include <include/interface/interface-vrf.xml.i>
           #include <include/interface/interface-mtu-64-8024.xml.i>
           <leafNode name="mtu">
             <defaultValue>1476</defaultValue>
           </leafNode>
           #include <include/interface/interface-ipv4-options.xml.i>
           #include <include/interface/interface-ipv6-options.xml.i>
           #include <include/source-address-ipv4-ipv6.xml.i>
           #include <include/interface/tunnel-remote.xml.i>
           <leafNode name="source-interface">
             <properties>
               <help>Physical Interface used for underlaying traffic</help>
               <completionHelp>
                 <script>${vyos_completion_dir}/list_interfaces.py</script>
               </completionHelp>
             </properties>
           </leafNode>
           <leafNode name="6rd-prefix">
             <properties>
               <help>6rd network prefix</help>
               <valueHelp>
                 <format>ipv6</format>
                 <description>IPv6 address and prefix length</description>
               </valueHelp>
               <constraint>
                 <validator name="ipv6-prefix"/>
               </constraint>
             </properties>
           </leafNode>
           <leafNode name="6rd-relay-prefix">
             <properties>
               <help>6rd relay prefix</help>
               <valueHelp>
                 <format>ipv4net</format>
                 <description>IPv4 prefix of interface for 6rd</description>
               </valueHelp>
               <constraint>
                 <validator name="ipv4-prefix"/>
               </constraint>
             </properties>
           </leafNode>
           <leafNode name="dhcp-interface">
             <properties>
               <help>dhcp interface</help>
               <valueHelp>
                 <format>interface</format>
                 <description>DHCP interface that supplies the local IP address for this tunnel</description>
               </valueHelp>
               <completionHelp>
                 <script>${vyos_completion_dir}/list_interfaces.py</script>
               </completionHelp>
               <constraint>
                 <regex>^(en|eth|br|bond|gnv|vxlan|wg|tun)[0-9]+$</regex>
               </constraint>
             </properties>
           </leafNode>
           <leafNode name="encapsulation">
             <properties>
               <help>Encapsulation of this tunnel interface</help>
               <completionHelp>
                 <list>erspan gre gretap ip6erspan ip6gre ip6gretap ip6ip6 ipip ipip6 sit</list>
               </completionHelp>
               <valueHelp>
                 <format>erspan</format>
                 <description>Encapsulated Remote Switched Port Analyzer</description>
               </valueHelp>
               <valueHelp>
                 <format>gre</format>
                 <description>Generic Routing Encapsulation</description>
               </valueHelp>
               <valueHelp>
                 <format>gretap</format>
                 <description>Generic Routing Encapsulation (virtual L2 tunnel)</description>
               </valueHelp>
               <valueHelp>
                 <format>ip6erspan</format>
                 <description>Encapsulated Remote Switched Port Analyzer over IPv6 network</description>
               </valueHelp>
               <valueHelp>
                 <format>ip6gre</format>
                 <description>GRE over IPv6 network</description>
               </valueHelp>
               <valueHelp>
                 <format>ip6gretap</format>
                 <description>Generic Routing Encapsulation over IPv6 (virtual L2 tunnel)</description>
               </valueHelp>
               <valueHelp>
                 <format>ip6ip6</format>
                 <description>IP6 in IP6 encapsulation</description>
               </valueHelp>
               <valueHelp>
                 <format>ipip</format>
                 <description>IP in IP encapsulation</description>
               </valueHelp>
               <valueHelp>
                 <format>ipip6</format>
                 <description>IP in IP6 encapsulation</description>
               </valueHelp>
               <valueHelp>
                 <format>sit</format>
                 <description>Simple Internet Transition encapsulation</description>
               </valueHelp>
               <constraint>
                 <regex>^(erspan|gre|gretap|ip6erspan|ip6gre|ip6gretap|ip6ip6|ipip|ipip6|sit)$</regex>
               </constraint>
               <constraintErrorMessage>Invalid encapsulation, must be one of: erspan, gre, gretap, ip6erspan, ip6gre, ip6gretap, ipip, sit, ipip6 or ip6ip6</constraintErrorMessage>
             </properties>
           </leafNode>
           <leafNode name="multicast">
             <properties>
               <help>Multicast operation over tunnel</help>
               <completionHelp>
                 <list>enable disable</list>
               </completionHelp>
               <valueHelp>
                 <format>enable</format>
                 <description>Enable Multicast</description>
               </valueHelp>
               <valueHelp>
                 <format>disable</format>
                 <description>Disable Multicast (default)</description>
               </valueHelp>
               <constraint>
                 <regex>^(enable|disable)$</regex>
               </constraint>
               <constraintErrorMessage>Must be 'disable' or 'enable'</constraintErrorMessage>
             </properties>
           </leafNode>
           <node name="parameters">
             <properties>
               <help>Tunnel parameters</help>
             </properties>
             <children>
               <node name="erspan">
                 <properties>
                   <help>ERSPAN Tunnel parameters</help>
                 </properties>
                 <children>
                   <leafNode name="direction">
                     <properties>
                       <help>Specifies mirrored traffic direction</help>
                       <completionHelp>
                         <list>ingress egress</list>
                       </completionHelp>
                       <valueHelp>
                         <format>ingress</format>
                         <description>Mirror ingress direction</description>
                       </valueHelp>
                       <valueHelp>
                         <format>egress</format>
                         <description>Mirror egress direction</description>
                       </valueHelp>
                       <constraint>
                         <regex>^(ingress|egress)$</regex>
                       </constraint>
                     </properties>
                   </leafNode>
                   <leafNode name="hw-id">
                     <properties>
                       <help>Unique identifier of ERSPAN engine within a system</help>
                       <valueHelp>
                         <format>0-1048575</format>
                         <description>Unique identifier of ERSPAN engine</description>
                       </valueHelp>
                       <constraint>
                         <validator name="numeric" argument="--range 0-1048575"/>
                       </constraint>
                     </properties>
                   </leafNode>
                   <leafNode name="index">
                     <properties>
                       <help>Specifify ERSPAN version 1 index field</help>
                       <valueHelp>
                         <format>0-63</format>
                         <description>Platform-depedent field for specifying port number and direction</description>
                       </valueHelp>
                       <constraint>
                         <validator name="numeric" argument="--range 0-63"/>
                       </constraint>
                     </properties>
                   </leafNode>
                   <leafNode name="version">
                     <properties>
                       <help>Protocol version</help>
                       <valueHelp>
                         <format>1</format>
                         <description>ERSPAN Type II</description>
                       </valueHelp>
                       <valueHelp>
                         <format>2</format>
                         <description>ERSPAN Type III</description>
                       </valueHelp>
                       <constraint>
                         <validator name="numeric" argument="--range 1-2"/>
                       </constraint>
                     </properties>
                     <defaultValue>1</defaultValue>
                   </leafNode>
                 </children>
               </node>
               <node name="ip">
                 <properties>
                   <help>IPv4 specific tunnel parameters</help>
                 </properties>
                 <children>
                   <leafNode name="no-pmtu-discovery">
                     <properties>
                       <help>Disable Path MTU Discovery on this tunnel</help>
                       <valueless/>
                     </properties>
                   </leafNode>
                   <leafNode name="ignore-df">
                     <properties>
                       <help>Enable IPv4 DF suppression on this tunnel</help>
                       <valueless/>
                     </properties>
                   </leafNode>
                   #include <include/interface/interface-parameters-key.xml.i>
                   #include <include/interface/interface-parameters-tos.xml.i>
                   #include <include/interface/interface-parameters-ttl.xml.i>
+                  <leafNode name="ttl">
+                    <defaultValue>64</defaultValue>
+                  </leafNode>
                 </children>
               </node>
               <node name="ipv6">
                 <properties>
                   <help>IPv6 specific tunnel parameters</help>
                 </properties>
                 <children>
                   <leafNode name="encaplimit">
                     <properties>
                       <help>Set fixed encapsulation limit</help>
                       <completionHelp>
                         <list>none</list>
                       </completionHelp>
                       <valueHelp>
                         <format>0-255</format>
                         <description>Encaplimit (default: 4)</description>
                       </valueHelp>
                       <valueHelp>
                         <format>none</format>
                         <description>Encaplimit disabled</description>
                       </valueHelp>
                       <constraint>
                         <regex>^(none)$</regex>
                         <validator name="numeric" argument="--range 0-255"/>
                       </constraint>
                       <constraintErrorMessage>Tunnel encaplimit must be 0-255 or none</constraintErrorMessage>
                     </properties>
                     <defaultValue>4</defaultValue>
                   </leafNode>
                   #include <include/interface/interface-parameters-flowlabel.xml.i>
                   <leafNode name="hoplimit">
                     <properties>
                       <help>Hoplimit</help>
                       <valueHelp>
                         <format>0-255</format>
                         <description>Hoplimit (default 64)</description>
                       </valueHelp>
                       <constraint>
                         <validator name="numeric" argument="--range 0-255"/>
                       </constraint>
                       <constraintErrorMessage>hoplimit must be between 0-255</constraintErrorMessage>
                     </properties>
                     <defaultValue>64</defaultValue>
                   </leafNode>
                   <leafNode name="tclass">
                     <properties>
                       <help>Traffic class (Tclass)</help>
                       <valueHelp>
                         <format>0x0-0x0FFFFF</format>
                         <description>Traffic class, 'inherit' or hex value</description>
                       </valueHelp>
                       <constraint>
                         <regex>(0x){0,1}(0?[0-9A-Fa-f]{1,2})</regex>
                       </constraint>
                       <constraintErrorMessage>Must be 'inherit' or a number</constraintErrorMessage>
                     </properties>
                     <defaultValue>inherit</defaultValue>
                   </leafNode>
                 </children>
               </node>
             </children>
           </node>
         </children>
       </tagNode>
     </children>
   </node>
 </interfaceDefinition>
diff --git a/smoketest/scripts/cli/test_interfaces_tunnel.py b/smoketest/scripts/cli/test_interfaces_tunnel.py
index ebb0158dc..841527d21 100755
--- a/smoketest/scripts/cli/test_interfaces_tunnel.py
+++ b/smoketest/scripts/cli/test_interfaces_tunnel.py
@@ -1,335 +1,336 @@
 #!/usr/bin/env python3
 #
 # Copyright (C) 2020-2021 VyOS maintainers and contributors
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License version 2 or later as
 # published by the Free Software Foundation.
 #
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 import unittest
 
 from base_interfaces_test import BasicInterfaceTest
 
 from vyos.configsession import ConfigSessionError
 from vyos.util import get_interface_config
 from vyos.template import inc_ip
 
 remote_ip4 = '192.0.2.100'
 remote_ip6 = '2001:db8::ffff'
 source_if = 'dum2222'
 mtu = 1476
 
 class TunnelInterfaceTest(BasicInterfaceTest.TestCase):
     @classmethod
     def setUpClass(cls):
         cls._test_ip = True
         cls._test_ipv6 = True
         cls._test_mtu = True
         cls._base_path = ['interfaces', 'tunnel']
         cls.local_v4 = '192.0.2.1'
         cls.local_v6 = '2001:db8::1'
         cls._options = {
             'tun10': ['encapsulation ipip', 'remote 192.0.2.10', 'source-address ' + cls.local_v4],
             'tun20': ['encapsulation gre',  'remote 192.0.2.20', 'source-address ' + cls.local_v4],
         }
         cls._interfaces = list(cls._options)
         # call base-classes classmethod
         super(cls, cls).setUpClass()
 
     def setUp(self):
         super().setUp()
         self.cli_set(['interfaces', 'dummy', source_if, 'address', self.local_v4 + '/32'])
         self.cli_set(['interfaces', 'dummy', source_if, 'address', self.local_v6 + '/128'])
 
     def tearDown(self):
         self.cli_delete(['interfaces', 'dummy', source_if])
         super().tearDown()
 
     def test_ipv4_encapsulations(self):
         # When running tests ensure that for certain encapsulation types the
         # local and remote IP address is actually an IPv4 address
 
         interface = f'tun1000'
         local_if_addr = f'10.10.200.1/24'
         for encapsulation in ['ipip', 'sit', 'gre', 'gretap']:
             self.cli_set(self._base_path + [interface, 'address', local_if_addr])
             self.cli_set(self._base_path + [interface, 'encapsulation', encapsulation])
             self.cli_set(self._base_path + [interface, 'source-address', self.local_v6])
             self.cli_set(self._base_path + [interface, 'remote', remote_ip6])
 
             # Encapsulation mode requires IPv4 source-address
             with self.assertRaises(ConfigSessionError):
                 self.cli_commit()
             self.cli_set(self._base_path + [interface, 'source-address', self.local_v4])
 
             # Encapsulation mode requires IPv4 remote
             with self.assertRaises(ConfigSessionError):
                 self.cli_commit()
             self.cli_set(self._base_path + [interface, 'remote', remote_ip4])
             self.cli_set(self._base_path + [interface, 'source-interface', source_if])
 
             # Source interface can not be used with sit and gretap
             if encapsulation in ['sit', 'gretap']:
                 with self.assertRaises(ConfigSessionError):
                     self.cli_commit()
                 self.cli_delete(self._base_path + [interface, 'source-interface'])
 
             # Check if commit is ok
             self.cli_commit()
 
             conf = get_interface_config(interface)
             if encapsulation not in ['sit', 'gretap']:
                 self.assertEqual(source_if, conf['link'])
 
             self.assertEqual(interface, conf['ifname'])
             self.assertEqual(mtu, conf['mtu'])
             self.assertEqual(encapsulation, conf['linkinfo']['info_kind'])
             self.assertEqual(self.local_v4, conf['linkinfo']['info_data']['local'])
             self.assertEqual(remote_ip4,    conf['linkinfo']['info_data']['remote'])
             self.assertTrue(conf['linkinfo']['info_data']['pmtudisc'])
 
             # cleanup this instance
             self.cli_delete(self._base_path + [interface])
             self.cli_commit()
 
     def test_ipv6_encapsulations(self):
         # When running tests ensure that for certain encapsulation types the
         # local and remote IP address is actually an IPv6 address
 
         interface = f'tun1010'
         local_if_addr = f'10.10.200.1/24'
         for encapsulation in ['ipip6', 'ip6ip6', 'ip6gre', 'ip6gretap']:
             self.cli_set(self._base_path + [interface, 'address', local_if_addr])
             self.cli_set(self._base_path + [interface, 'encapsulation', encapsulation])
             self.cli_set(self._base_path + [interface, 'source-address', self.local_v4])
             self.cli_set(self._base_path + [interface, 'remote', remote_ip4])
 
             # Encapsulation mode requires IPv6 source-address
             with self.assertRaises(ConfigSessionError):
                 self.cli_commit()
             self.cli_set(self._base_path + [interface, 'source-address', self.local_v6])
 
             # Encapsulation mode requires IPv6 remote
             with self.assertRaises(ConfigSessionError):
                 self.cli_commit()
             self.cli_set(self._base_path + [interface, 'remote', remote_ip6])
 
             # Configure Tunnel Source interface
             self.cli_set(self._base_path + [interface, 'source-interface', source_if])
             # Source interface can not be used with ip6gretap
             if encapsulation in ['ip6gretap']:
                 with self.assertRaises(ConfigSessionError):
                     self.cli_commit()
                 self.cli_delete(self._base_path + [interface, 'source-interface'])
 
             # Check if commit is ok
             self.cli_commit()
 
             conf = get_interface_config(interface)
             if encapsulation not in ['ip6gretap']:
                 self.assertEqual(source_if, conf['link'])
 
             self.assertEqual(interface, conf['ifname'])
             self.assertEqual(mtu, conf['mtu'])
 
             # Not applicable for ip6gre
             if 'proto' in conf['linkinfo']['info_data']:
                 self.assertEqual(encapsulation, conf['linkinfo']['info_data']['proto'])
 
             # remap encapsulation protocol(s) only for ipip6, ip6ip6
             if encapsulation in ['ipip6', 'ip6ip6']:
                 encapsulation = 'ip6tnl'
 
             self.assertEqual(encapsulation, conf['linkinfo']['info_kind'])
             self.assertEqual(self.local_v6, conf['linkinfo']['info_data']['local'])
             self.assertEqual(remote_ip6,    conf['linkinfo']['info_data']['remote'])
 
             # cleanup this instance
             self.cli_delete(self._base_path + [interface])
             self.cli_commit()
 
     def test_tunnel_verify_local_dhcp(self):
         # We can not use source-address and dhcp-interface at the same time
 
         interface = f'tun1020'
         local_if_addr = f'10.0.0.1/24'
 
         self.cli_set(self._base_path + [interface, 'address', local_if_addr])
         self.cli_set(self._base_path + [interface, 'encapsulation', 'gre'])
         self.cli_set(self._base_path + [interface, 'source-address', self.local_v4])
         self.cli_set(self._base_path + [interface, 'remote', remote_ip4])
         self.cli_set(self._base_path + [interface, 'dhcp-interface', 'eth0'])
 
         # source-address and dhcp-interface can not be used at the same time
         with self.assertRaises(ConfigSessionError):
             self.cli_commit()
         self.cli_delete(self._base_path + [interface, 'dhcp-interface'])
 
         # Check if commit is ok
         self.cli_commit()
 
     def test_tunnel_parameters_gre(self):
         interface = f'tun1030'
         gre_key = '10'
         encapsulation = 'gre'
         tos = '20'
 
         self.cli_set(self._base_path + [interface, 'encapsulation', encapsulation])
         self.cli_set(self._base_path + [interface, 'source-address', self.local_v4])
         self.cli_set(self._base_path + [interface, 'remote', remote_ip4])
 
         self.cli_set(self._base_path + [interface, 'parameters', 'ip', 'no-pmtu-discovery'])
         self.cli_set(self._base_path + [interface, 'parameters', 'ip', 'key', gre_key])
         self.cli_set(self._base_path + [interface, 'parameters', 'ip', 'tos', tos])
+        self.cli_set(self._base_path + [interface, 'parameters', 'ip', 'ttl', '0'])
 
         # Check if commit is ok
         self.cli_commit()
 
         conf = get_interface_config(interface)
         self.assertEqual(mtu,           conf['mtu'])
         self.assertEqual(interface,     conf['ifname'])
         self.assertEqual(encapsulation, conf['linkinfo']['info_kind'])
         self.assertEqual(self.local_v4, conf['linkinfo']['info_data']['local'])
         self.assertEqual(remote_ip4,    conf['linkinfo']['info_data']['remote'])
         self.assertEqual(0,             conf['linkinfo']['info_data']['ttl'])
         self.assertFalse(               conf['linkinfo']['info_data']['pmtudisc'])
 
     def test_gretap_parameters_change(self):
         interface = f'tun1040'
         gre_key = '10'
         encapsulation = 'gretap'
         tos = '20'
 
         self.cli_set(self._base_path + [interface, 'encapsulation', encapsulation])
         self.cli_set(self._base_path + [interface, 'source-address', self.local_v4])
         self.cli_set(self._base_path + [interface, 'remote', remote_ip4])
 
         # Check if commit is ok
         self.cli_commit()
 
         conf = get_interface_config(interface)
         self.assertEqual(mtu,           conf['mtu'])
         self.assertEqual(interface,     conf['ifname'])
         self.assertEqual(encapsulation, conf['linkinfo']['info_kind'])
         self.assertEqual(self.local_v4, conf['linkinfo']['info_data']['local'])
         self.assertEqual(remote_ip4,    conf['linkinfo']['info_data']['remote'])
-        self.assertEqual(0,             conf['linkinfo']['info_data']['ttl'])
+        self.assertEqual(64,           conf['linkinfo']['info_data']['ttl'])
 
         # Change remote ip address (inc host by 2
         new_remote = inc_ip(remote_ip4, 2)
         self.cli_set(self._base_path + [interface, 'remote', new_remote])
         # Check if commit is ok
         self.cli_commit()
 
         conf = get_interface_config(interface)
         self.assertEqual(new_remote,    conf['linkinfo']['info_data']['remote'])
 
     def test_erspan_v1(self):
         interface = f'tun1070'
         encapsulation = 'erspan'
         ip_key = '77'
         idx = '20'
 
         self.cli_set(self._base_path + [interface, 'encapsulation', encapsulation])
         self.cli_set(self._base_path + [interface, 'source-address', self.local_v4])
         self.cli_set(self._base_path + [interface, 'remote', remote_ip4])
 
         self.cli_set(self._base_path + [interface, 'parameters', 'erspan', 'index', idx])
 
         # ERSPAN requires ip key parameter
         with self.assertRaises(ConfigSessionError):
             self.cli_commit()
         self.cli_set(self._base_path + [interface, 'parameters', 'ip', 'key', ip_key])
 
         # Check if commit is ok
         self.cli_commit()
 
         conf = get_interface_config(interface)
         self.assertEqual(mtu,               conf['mtu'])
         self.assertEqual(interface,         conf['ifname'])
         self.assertEqual(encapsulation,     conf['linkinfo']['info_kind'])
         self.assertEqual(self.local_v4,     conf['linkinfo']['info_data']['local'])
         self.assertEqual(remote_ip4,        conf['linkinfo']['info_data']['remote'])
-        self.assertEqual(0,                 conf['linkinfo']['info_data']['ttl'])
+        self.assertEqual(64,               conf['linkinfo']['info_data']['ttl'])
         self.assertEqual(f'0.0.0.{ip_key}', conf['linkinfo']['info_data']['ikey'])
         self.assertEqual(f'0.0.0.{ip_key}', conf['linkinfo']['info_data']['okey'])
         self.assertEqual(int(idx),          conf['linkinfo']['info_data']['erspan_index'])
         # version defaults to 1
         self.assertEqual(1,                 conf['linkinfo']['info_data']['erspan_ver'])
         self.assertTrue(                    conf['linkinfo']['info_data']['iseq'])
         self.assertTrue(                    conf['linkinfo']['info_data']['oseq'])
 
         # Change remote ip address (inc host by 2
         new_remote = inc_ip(remote_ip4, 2)
         self.cli_set(self._base_path + [interface, 'remote', new_remote])
         # Check if commit is ok
         self.cli_commit()
 
         conf = get_interface_config(interface)
         self.assertEqual(new_remote,    conf['linkinfo']['info_data']['remote'])
 
     def test_ip6erspan_v2(self):
         interface = f'tun1070'
         encapsulation = 'ip6erspan'
         ip_key = '77'
         erspan_ver = 2
         direction = 'ingress'
 
         self.cli_set(self._base_path + [interface, 'encapsulation', encapsulation])
         self.cli_set(self._base_path + [interface, 'source-address', self.local_v6])
         self.cli_set(self._base_path + [interface, 'remote', remote_ip6])
 
         # ERSPAN requires ip key parameter
         with self.assertRaises(ConfigSessionError):
             self.cli_commit()
         self.cli_set(self._base_path + [interface, 'parameters', 'ip', 'key', ip_key])
 
         self.cli_set(self._base_path + [interface, 'parameters', 'erspan', 'version', str(erspan_ver)])
 
         # ERSPAN index is not valid on version 2
         self.cli_set(self._base_path + [interface, 'parameters', 'erspan', 'index', '10'])
         with self.assertRaises(ConfigSessionError):
             self.cli_commit()
         self.cli_delete(self._base_path + [interface, 'parameters', 'erspan', 'index'])
 
         # ERSPAN requires direction to be set
         with self.assertRaises(ConfigSessionError):
             self.cli_commit()
         self.cli_set(self._base_path + [interface, 'parameters', 'erspan', 'direction', direction])
 
         # Check if commit is ok
         self.cli_commit()
 
         conf = get_interface_config(interface)
         self.assertEqual(mtu,               conf['mtu'])
         self.assertEqual(interface,         conf['ifname'])
         self.assertEqual(encapsulation,     conf['linkinfo']['info_kind'])
         self.assertEqual(self.local_v6,     conf['linkinfo']['info_data']['local'])
         self.assertEqual(remote_ip6,        conf['linkinfo']['info_data']['remote'])
-        self.assertEqual(0,                 conf['linkinfo']['info_data']['ttl'])
+        self.assertEqual(64,               conf['linkinfo']['info_data']['ttl'])
         self.assertEqual(f'0.0.0.{ip_key}', conf['linkinfo']['info_data']['ikey'])
         self.assertEqual(f'0.0.0.{ip_key}', conf['linkinfo']['info_data']['okey'])
         self.assertEqual(erspan_ver,        conf['linkinfo']['info_data']['erspan_ver'])
         self.assertEqual(direction,         conf['linkinfo']['info_data']['erspan_dir'])
         self.assertTrue(                    conf['linkinfo']['info_data']['iseq'])
         self.assertTrue(                    conf['linkinfo']['info_data']['oseq'])
 
         # Change remote ip address (inc host by 2
         new_remote = inc_ip(remote_ip6, 2)
         self.cli_set(self._base_path + [interface, 'remote', new_remote])
         # Check if commit is ok
         self.cli_commit()
 
         conf = get_interface_config(interface)
         self.assertEqual(new_remote,    conf['linkinfo']['info_data']['remote'])
 
 if __name__ == '__main__':
     unittest.main(verbosity=2)