Static Lease IPv6 problem (ipv6 NOT assigned)

Dear All,

I’m an ex DDWRT (R7800) user, i.e. …. a newbie in OpenWrt :slight_smile:

I changed the ISP (to a new IPv6 PD/56) and moved to OpwerWRT(Flint2) 24,10,5

GOAL

I run a NextCloud server (on ubuntu 24,04) at home, with a registered domain,

As I did before with DDWRT and IPv4 :frowning: , I need to access my server using the domain name (www.cloud5.it)

from home lan AND from outside,

PROBLEM

I followed onemarkfifthy youtube videos to learn something about OpenWrt and IPv6, and set the Flint2-OpwnWrt router as edge router.

I successfully set the PPOE connection, BUT cannot manage to have the web server recognized by hostname in the lan AND in the internet.

What I TRIED

Network → Intefaces →lan (advanced):

set the ip assignment to 64bit, removed the use default gateway, assign the prefix hint to “a” (from onemarcfifthy this should lead to a final subnet without any more subnet, and should help the router defining the ipv6 addresses)

Network – DHCP and DNS → Static leases :

Added a static lease for the server linking the IPv4 address to the MAC address, setting the ipv6 suffix, and setting the hosname

Network → DNS Record → Hostname tab:

Set the same hostname to the same ipv4 address

Tried to disconnect and reconnect the cable to renew the lease….

FAILURE:

  • from lan I can reach the server with the hostname ONLY if before I get it by IPv4 local address (if I try at first the hostname in the URL the site is unreacheable. Seems the browser is solving the problem….)

  • the web server do NOT get a global IPv6 public global static address

  • if I test my ip, the recognized ipv6 is NOT the global dynamic noprefixroute, BUT the scope global temporary dynamic… seems I have NO ipv6 public global address

  • not having a public address, I cannot set a AAAA record with my registar) (as in the log, the suffix create ONLYa global dynamic noprefixroute)

HELP !!!

I attach a copy of the

  • OpenWRT: /etc/config/dhcp
  • server: ip a command
  • server: /etc/host and /etc/hostname

THANKS in advance for any help !!

router /etc/config/dhcp

/etc/config/dhcp  
config dnsmasq
        option domainneeded '1'
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/lan/'
        option domain 'lan'
        option expandhosts '1'
        option cachesize '1000'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
        option localservice '1'
        option ednspacket_max '1232'

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv4 'server'
        option dhcpv6 'server'
        option ra 'server'
        list ra_flags 'managed-config'
        list ra_flags 'other-config'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'

config odhcpd 'odhcpd'
        option maindhcp '0'
        option leasefile '/tmp/hosts/odhcpd'
        option leasetrigger '/usr/sbin/odhcpd-update'
        option loglevel '4'
        option piofolder '/tmp/odhcpd-piofolder'
config host
        option name 'www.cloud5.it'
        list mac '4C:52:62:A6:34:0A'
        option ip '192.168.0.29'
        option leasetime 'infinite'
        option hostid '0707'

config domain
        option name 'www.cloud5.it'
        option ip '192.168.0.29'

giuliano@www:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 4c:52:62:a6:34:0a brd ff:ff:ff:ff:ff:ff
altname enp2s0
inet 192.168.0.29/24 brd 192.168.0.255 scope global noprefixroute eno1
valid_lft forever preferred_lft forever
inet6 fdec:8885:cfd:a::707/128 scope global dynamic noprefixroute
valid_lft 43005sec preferred_lft 43005sec
inet6 2a00:6d43:605:cf0a::707/128 scope global dynamic noprefixroute
valid_lft 616sec preferred_lft 616sec
inet6 2a00:6d43:605:cf0a:6ae3:f4f7:814d:52b5/64 scope global temporary dynamic
valid_lft 616sec preferred_lft 616sec
inet6 2a00:6d43:605:cf0a:4e52:62ff:fea6:340a/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 616sec preferred_lft 616sec
inet6 fdec:8885:cfd:a:4a08:772e:e3f9:4ab9/64 scope global temporary dynamic
valid_lft 5365sec preferred_lft 2665sec
inet6 fdec:8885:cfd:a:4e52:62ff:fea6:340a/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 5365sec preferred_lft 2665sec
inet6 fe80::4e52:62ff:fea6:340a/64 scope link noprefixroute
valid_lft forever preferred_lft forever

giuliano@www:~$ sudo cat /etc/apache2/sites-enabled/nc_www.cloud5.it.conf 
[sudo] password di giuliano: 
################################################################################
# This file was generated by Ansible for www.cloud5.it
# Do NOT modify this file by hand!
################################################################################

<VirtualHost *:80>
  ServerName www.cloud5.it
  ServerAlias 192.168.0.29 cloud5.it
  Redirect permanent / https://www.cloud5.it/
</VirtualHost>
<VirtualHost *:80>
  ServerName 192.168.0.29
  Redirect permanent / https://192.168.0.29/
</VirtualHost>

<VirtualHost *:443>
  ServerName www.cloud5.it
  ServerAlias 192.168.0.29 cloud5.it
  DocumentRoot /var/www/nextcloud/
  LimitRequestBody 536870912
  LimitRequestFieldsize 32768
  SSLEngine on
  SSLCertificateFile      /etc/ssl/www.cloud5.it.crt
  SSLCertificateKeyFile   /etc/ssl/www.cloud5.it.key
  # enable HTTP/2, if available
  Protocols h2 http/1.1


  <Directory /var/www/nextcloud/>
    Allow from all
    Satisfy Any
    Options +FollowSymlinks
    AllowOverride All

   <IfModule mod_dav.c>
    Dav off
   </IfModule>

   SetEnv HOME /var/www/nextcloud/
   SetEnv HTTP_HOME /var/www/nextcloud/

  </Directory>
</VirtualHost>

# intermediate configuration, tweak to your needs
SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite          ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384

SSLHonorCipherOrder     off
# SSLSessionTickets       off

SSLCompression          off

# OCSP stapling
SSLUseStapling          on
SSLStaplingResponderTimeout 5
SSLStaplingReturnResponderErrors off
SSLStaplingCache        shmcb:/var/run/ocsp(128000)

cat /etc/hosts & cat /etc/hostname

giuliano@www:~$ cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 www.cloud5.it

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

giuliano@www:~$ cat /etc/hostname
www.cloud5.it

It can help if you show other configs, Please connect to your OpenWRT device using ssh and copy the output of the following commands and post it here using the "Preformatted text </> " button

Remember to redact keys, passwords, MAC addresses and any public IP addresses you may have but do not redact private RFC 1918 IP addresses as that is not needed:

ubus call system board
cat /etc/config/network
cat /etc/config/dhcp
cat /etc/config/firewall
ip route show
ip -6 route show

further more let's see if you have a correct IPv6 PD with:

ifstatus wan6

where wan6 is the name of the logical wan6 interface, if you are using PPPoE it might be different

For the record my way to setup a static IPv6 lease (note not all clients support static leases):

config host
	option dns '1'
	option name 'EA8500'
	option ip '192.168.0.6'
	option leasetime '6h'
	option duid '00030001c0562712345a'
	option hostid '06'
	list mac 'C0:56:27:12:34:5A'

DUID can be found on the Status page under Active DHCPv6 leases it might work even without a DUID

To open up the firewall for your server you use a negative mask meaning disregard the prefix:

config rule
	option name 'wg-server6-6'
	list proto 'udp'
	option src 'wan'
	option dest 'lan'
	option dest_port '51810'
	option target 'ACCEPT'
	option family 'ipv6'
	list dest_ip '::6/-64'      <<<<<<<<<

6 is of course my host id of the static lease

I am not available for the rest of the day but there are plenty of others who can help you

I see that the www machine does have a GUA ending in 0a::707 as it should. You should configure that machine to use only DHCPv6 and not SLAAC so it does not also configure itself with SLAAC addresses. Do a whats my IP test on that machine to confirm it can reach the V6 Internet and is using the proper source address. For example on www run
echo $(wget -qO - http://api6.ipify.org)

Running a DDNS client on the www server should get this IP registered into public DNS. That is outside the scope of this forum.

The OpenWrt firewall then needs to have a rule to allow www traffic from the Internet to forward to that machine. By default, all incoming traffic from the Internet is blocked. If the ISP is going to change your prefix, use the negative prefix length syntax to ignore the first 56 bits and match only on 0a::707. (I think it is option dest_ip '0a:0000:0000:0000:0707/-56')

Once you have the server working you should for better security move it to a DMZ network and firewall zone. The DMZ should not allow initiating connections to your LAN, and if practical don't let it forward outgoing to the Internet either except with specific rules for necessary purposes. That way if the server is hacked it can't be used to attack your LAN or the Internet.

First if you verified that your ipv6 is working correctly testivp6.com, your host name and domain name are different. With your second loop back only have your domain name not www.example.com but example.com and put ur local hostname next to it in the /etc/hosts file.
Then make sure that in /var/www/yournextclouddirectory/config/config.php under


trusted
_domains' =>
array (
0 => '192.168.1.xxx'
),


Make it


trusted
_domains' =>
array (
0 => '192.168.1.102'
1 = 'example.com',
),

@Giggy36

Your are right !!
The /etc/hosts and /etc/hostname are badly forged…
I rewrote both of them, setting the FQDN in /etc/hosts and correcting the hostname in /etc/hostname; but ONLY WHEN I will manage to get a valid STATIC IPv6 address, I could add in /etc/hosts also the IPv6 ipv6/FQDN/hostname tuple (and the corresponding firewall rule)

The /var/www/nextcloud/config/config.php was fine, with just the two items in reversed order. I left the file untouched.

giuliano@cloud5:~$ sudo cat /etc/hosts

[sudo] password di giuliano:

# https://man7.org/linux/man-pages/man5/hosts.5.html

# for FQDN usage see:

#https://manpages.ubuntu.com/manpages/trusty/en/man1/hostname.1.html

# 127.0.1.1 is often used for the FQDN of the machine

# 127.0.1.1 thishost.example.org thishost

127.0.0.1 localhost

127.0.1.1 www.cloud5.it cloud5


# The following lines are desirable for IPv6 capable hosts

::1 ip6-localhost ip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters


giuliano@cloud5:~$ sudo cat  /etc/hostname
#https://man7.org/linux/man-pages/man5/hostname.5.html
#       The file should contain a single newline-terminated hostname
#       string. Comments (lines starting with a "#") are ignored. The
#       hostname should be composed of up to 64 7-bit ASCII lower-case
#       alphanumeric characters or hyphens forming a valid DNS domain
#       name. It is recommended that this name contains ONLY a single
#       label, i.e. WITHOUT any dots.
cloud5 

<?php
$CONFIG = array (
  'trusted_domains' => 
  array (
    0 => 'www.cloud5.it',
    1 => '192.168.0.29',
  ),

@mk24

the address ending with :707 is a GUA address, BUT it is a ‘global dynamic noprefixroute’ , where dynamic Means it's NOT static; it's generated by the system, often through SLAAC or DHCPv6 (it will change at any reboot)

To prove it, just restart the router….. it has even lost the 707 ending (the reouter does NOT respect the stati lease rule). In the log below the validity of the address is ONLY 456 secs, NOT forever as the LLA fe80:…

ONLY after I will get to have a static IPv6 address, I could set a firewall rule to accept incoming port 453 packets for THAT address.

giuliano@cloud5:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 4c:52:62:a6:34:0a brd ff:ff:ff:ff:ff:ff
    altname enp2s0
    inet 192.168.0.29/24 brd 192.168.0.255 scope global noprefixroute eno1
       valid_lft forever preferred_lft forever
    inet6 fdec:8885:cfd:a::dab/128 scope global dynamic noprefixroute 
       valid_lft 43037sec preferred_lft 43037sec
    inet6 2a00:6d43:605:cf0a::dab/128 scope global dynamic noprefixroute 
       valid_lft 687sec preferred_lft 687sec
    inet6 2a00:6d43:605:cf0a:a568:8e08:b98d:414/64 scope global temporary dynamic 
       valid_lft 456sec preferred_lft 456sec
    inet6 2a00:6d43:605:cf0a:4e52:62ff:fea6:340a/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 456sec preferred_lft 456sec
    inet6 fdec:8885:cfd:a:6cda:5ec7:f0dd:f08d/64 scope global temporary dynamic 
       valid_lft 5244sec preferred_lft 2544sec
    inet6 fdec:8885:cfd:a:4e52:62ff:fea6:340a/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 5244sec preferred_lft 2544sec
    inet6 fe80::4e52:62ff:fea6:340a/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever


giuliano@cloud5:~$ echo $(wget -qO - http://api6.ipify.org)
2a00:6d43:605:cf0a:a568:8e08:b98d:414

@egc

thanks for your help !

In the meanwhile I have to

  • change the WAN6 interface, configuring ALSO it with PPOE (many host was not getting an IPv4… I don’t know yet why, but enabling ppoe also on wan6 fixed the problem)
  • change the /etc/hosts and /etc/hostname in the server because as @Giggy36 noticed, they were bad formed.

Here are the requested files:

root@OpenWrt:~# cat  /etc/config/dhcp

config dnsmasq
	option domainneeded '1'
	option localise_queries '1'
	option rebind_protection '1'
	option rebind_localhost '1'
	option local '/lan/'
	option domain 'lan'
	option expandhosts '1'
	option cachesize '1000'
	option authoritative '1'
	option readethers '1'
	option leasefile '/tmp/dhcp.leases'
	option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
	option localservice '1'
	option ednspacket_max '1232'

config dhcp 'lan'
	option interface 'lan'
	option start '100'
	option limit '150'
	option leasetime '12h'
	option dhcpv4 'server'
	option dhcpv6 'server'
	option ra 'server'
	list ra_flags 'managed-config'
	list ra_flags 'other-config'

config dhcp 'wan'
	option interface 'wan'
	option ignore '1'

config odhcpd 'odhcpd'
	option maindhcp '0'
	option leasefile '/tmp/hosts/odhcpd'
	option leasetrigger '/usr/sbin/odhcpd-update'
	option loglevel '4'
	option piofolder '/tmp/odhcpd-piofolder'

config host
	option name 'www.cloud5.it'
	list mac '4C:52:62:A6:34:0A'
	option ip '192.168.0.29'
	option leasetime 'infinite'
	option hostid '0707'

config domain
	option name 'www.cloud5.it'
	option ip '192.168.0.29'



firewall

root@OpenWrt:~# cat /etc/config/firewall
config defaults
	option syn_flood	1
	option input		REJECT
	option output		ACCEPT
	option forward		REJECT
# Uncomment this line to disable ipv6 rules
#	option disable_ipv6	1

config zone
	option name		lan
	list   network		'lan'
	option input		ACCEPT
	option output		ACCEPT
	option forward		ACCEPT

config zone
	option name		wan
	list   network		'wan'
	list   network		'wan6'
	option input		REJECT
	option output		ACCEPT
	option forward		REJECT
	option masq		1
	option mtu_fix		1

config forwarding
	option src		lan
	option dest		wan

# We need to accept udp packets on port 68,
# see https://dev.openwrt.org/ticket/4108
config rule
	option name		Allow-DHCP-Renew
	option src		wan
	option proto		udp
	option dest_port	68
	option target		ACCEPT
	option family		ipv4

# Allow IPv4 ping
config rule
	option name		Allow-Ping
	option src		wan
	option proto		icmp
	option icmp_type	echo-request
	option family		ipv4
	option target		ACCEPT

config rule
	option name		Allow-IGMP
	option src		wan
	option proto		igmp
	option family		ipv4
	option target		ACCEPT

# Allow DHCPv6 replies
# see https://github.com/openwrt/openwrt/issues/5066
config rule
	option name		Allow-DHCPv6
	option src		wan
	option proto		udp
	option dest_port	546
	option family		ipv6
	option target		ACCEPT

config rule
	option name		Allow-MLD
	option src		wan
	option proto		icmp
	option src_ip		fe80::/10
	list icmp_type		'130/0'
	list icmp_type		'131/0'
	list icmp_type		'132/0'
	list icmp_type		'143/0'
	option family		ipv6
	option target		ACCEPT

# Allow essential incoming IPv6 ICMP traffic
config rule
	option name		Allow-ICMPv6-Input
	option src		wan
	option proto	icmp
	list icmp_type		echo-request
	list icmp_type		echo-reply
	list icmp_type		destination-unreachable
	list icmp_type		packet-too-big
	list icmp_type		time-exceeded
	list icmp_type		bad-header
	list icmp_type		unknown-header-type
	list icmp_type		router-solicitation
	list icmp_type		neighbour-solicitation
	list icmp_type		router-advertisement
	list icmp_type		neighbour-advertisement
	option limit		1000/sec
	option family		ipv6
	option target		ACCEPT

# Allow essential forwarded IPv6 ICMP traffic
config rule
	option name		Allow-ICMPv6-Forward
	option src		wan
	option dest		*
	option proto		icmp
	list icmp_type		echo-request
	list icmp_type		echo-reply
	list icmp_type		destination-unreachable
	list icmp_type		packet-too-big
	list icmp_type		time-exceeded
	list icmp_type		bad-header
	list icmp_type		unknown-header-type
	option limit		1000/sec
	option family		ipv6
	option target		ACCEPT

config rule
	option name		Allow-IPSec-ESP
	option src		wan
	option dest		lan
	option proto		esp
	option target		ACCEPT

config rule
	option name		Allow-ISAKMP
	option src		wan
	option dest		lan
	option dest_port	500
	option proto		udp
	option target		ACCEPT


### EXAMPLE CONFIG SECTIONS
# do not allow a specific ip to access wan
#config rule
#	option src		lan
#	option src_ip	192.168.45.2
#	option dest		wan
#	option proto	tcp
#	option target	REJECT

# block a specific mac on wan
#config rule
#	option dest		wan
#	option src_mac	00:11:22:33:44:66
#	option target	REJECT

# block incoming ICMP traffic on a zone
#config rule
#	option src		lan
#	option proto	ICMP
#	option target	DROP

# port redirect port coming in on wan to lan
#config redirect
#	option src			wan
#	option src_dport	80
#	option dest			lan
#	option dest_ip		192.168.16.235
#	option dest_port	80
#	option proto		tcp

# port redirect of remapped ssh port (22001) on wan
#config redirect
#	option src		wan
#	option src_dport	22001
#	option dest		lan
#	option dest_port	22
#	option proto		tcp

### FULL CONFIG SECTIONS
#config rule
#	option src		lan
#	option src_ip	192.168.45.2
#	option src_mac	00:11:22:33:44:55
#	option src_port	80
#	option dest		wan
#	option dest_ip	194.25.2.129
#	option dest_port	120
#	option proto	tcp
#	option target	REJECT

#config redirect
#	option src		lan
#	option src_ip	192.168.45.2
#	option src_mac	00:11:22:33:44:55
#	option src_port		1024
#	option src_dport	80
#	option dest_ip	194.25.2.129
#	option dest_port	120
#	option proto	tcp

network

root@OpenWrt:~# cat /etc/config/network

config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fdec:8885:cfd::/48'
	option packet_steering '1'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'lan1'
	list ports 'lan2'
	list ports 'lan3'
	list ports 'lan4'
	list ports 'lan5'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.0.1'
	option netmask '255.255.255.0'
	option ip6assign '64'
	option ip6hint 'a'
	option delegate '0'

config interface 'wan'
	option device 'eth1.100'
	option proto 'pppoe'
	option username 'ftth206745'
	option password 'VB3Yu7'
	option ipv6 'auto'
	option norelease '1'

config interface 'wan6'
	option device 'eth1.100'
	option proto 'pppoe'
	option username 'ftth206745'
	option password 'VB3Yu7'
	option ipv6 'auto'
	option norelease '1'

board

Linux OpenWrt 6.6.119 #0 SMP Wed Dec 17 21:08:22 2025 aarch64 GNU/Linux
root@OpenWrt:~# ubus call system board
{
	"kernel": "6.6.119",
	"hostname": "OpenWrt",
	"system": "ARMv8 Processor rev 4",
	"model": "GL.iNet GL-MT6000",
	"board_name": "glinet,gl-mt6000",
	"rootfs_type": "squashfs",
	"release": {
		"distribution": "OpenWrt",
		"version": "24.10.5",
		"revision": "r29087-d9c5716d1d",
		"target": "mediatek/filogic",
		"description": "OpenWrt 24.10.5 r29087-d9c5716d1d",
		"builddate": "1766005702"
	}
}

route

giuliano@cloud5:~$ ip route show
default via 192.168.0.1 dev eno1 proto dhcp src 192.168.0.29 metric 100 
192.168.0.0/24 dev eno1 proto kernel scope link src 192.168.0.29 metric 100 
giuliano@cloud5:~$ ip -6 route show
2a00:6d43:605:cf0a::dab dev eno1 proto kernel metric 100 pref medium
2a00:6d43:605:cf0a::/64 dev eno1 proto ra metric 100 pref medium
2a00:6d43:605:cf00::/56 via fe80::9683:c4ff:feb1:126 dev eno1 proto ra metric 100 pref medium
fdec:8885:cfd:a::dab dev eno1 proto kernel metric 100 pref medium
fdec:8885:cfd:a::/64 dev eno1 proto ra metric 100 pref medium
fdec:8885:cfd::/48 via fe80::9683:c4ff:feb1:126 dev eno1 proto ra metric 100 pref medium
fe80::/64 dev eno1 proto kernel metric 1024 pref medium
default via fe80::9683:c4ff:feb1:126 dev eno1 proto ra metric 100 pref medium
giuliano@cloud5:~$ 

Did you find anything strange or bad, so that the host did not get a valid static GUA IPv6 address ?

thanks in advance,

Giuliano