See INC0164829 (for pinger and INC0176266 for www3)

pinger.slac.stanford.edu and www3.slac.stanford.edu

A quick test to see if the host has full  IPv6 capability is to run traceroute6

453cottrell@www3:~$traceroute6 ipv6.google.com
traceroute to ipv6.google.com (2607:f8b0:4007:802::200e), 30 hops max, 80 byte packets
connect: Network is unreachable
Exit 1


To enable for IPv6:

pinger2.pl

Modified to enable both the hostname and IPv6 address to be the same.

traceroute.pl

Modified to make work on Solaris and Linux:

my $version="7.3, 12/13/2017, Les Cottrell";
# Added \[\] to untainting of dig command. Appears to be needed for IPv6.
# Do not avoid testing internal domains if server is IPv6 host,
# Added avoid calling gethostbyname6 if hostname is already an ipv6 address
# Fixed how Solaris mis-interprets system(@args) sometimes (saw in IPv6)

getdata.pl

Created nodes-ipv6.pl to add the PingER IPv6 MA 2001:da8:270:2018:f816:3eff:fef3:bd3. See here for addition.

Copied getdata.pl to getdata-ipv6.pl and modified to use the  /afs/slac/package/pinger/nodes-ipv6.cf file and write to the /nfs/slac/g/net/pinger/pingerdata/ipv6/data/ directory (e.g. /nfs/slac/g/net/pinger/pingerdata/ipv6/data/2001:da8:270:2018:f816:3eff:fef3:bd3/ping-2017-12-19.txt.gz) when running  getdata-ipv6.pl 2001:da8:270:2018:f816:3eff:fef3:bd3 2017-12-19 1. Also replaced IPv4 address checks with sub chck_ip{} to test for both IPv4 and IPv6 addresses.

wrap-analyze-hourly.pl 

Call with:

wrap-analyze-hourly.pl  --usemetric --dataset ipv6 --by by-node --size 100 --set_metric 3 --date 2017-12-19

This will use as input:

Output will go to: 

APEX/Oracle user interface to PingER NODEDETAILS database

This does not accept IPv6 Addresses, see INC0176849 and INC0176966

%NODE_DETAILS=(
"2001:da8:270:2018:f816:3eff:fef3:bd3" => [  
"2001:da8:270:2018:f816:3eff:fef3:bd3",   
"gzhu.edu.cn",   
"CN.GZHU.EDU.IPV6",
"CERNET Cloud",  
"Tsinghua University, Beijing",  
"China",
"East Asia",
"23.037002 113.36777",
"M",
"http://[2001:da8:270:2018:f816:3eff:fef3:bd3]/cgi-bin/traceroute.pl?function=ping",
"http://[2001:da8:270:2018:f816:3eff:fef3:bd3]/cgi-bin/traceroute.pl?choice=yes",
"http://[2001:da8:270:2018:f816:3eff:fef3:bd3]/cgi-bin/ping_data.pl",
"http://www.gzhu.edu.cn/",
"",
"",
"",
"Saqib Ali <saqibutm\@outlook.com>, Prof. Guojun Wang, csgjwang\@gzhu.edu.cn; csgjwang\@gmail.com",
"Test record by Venkat based on add by Cottrell 12/19/2017.",
],

 

Nodename (the primary key)

APEX doesn't like colon(:) in primary key column values. Primary key value is passed in the URL as a parameter and APEX parameters are separated by colons (:), which is causing the issue. Venkat provided a workaround. We will test this on the Oracle SLACDEV2 (SLACPROD is the production version) test database.

ipaddress 

Ipaddress is limited to 14 characters and expecting a format of ^[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}$

If you want to increase the length or change the format, we need to modify the interface code. Proposal is to extend the field to 100 characters (like the other fields) and not apply any filters.

Testing

The connection to the database is  defined in: /afs/slac/package/pinger/oracleArchive/netratDb.pm

In that program the following lines contain slacprod/SLACPROD 

I made a copy of the script in /afs/slac/package/pinger/oracleArchive/netratDbdev2.pm and substituted  slacdev2/SLACDEV2 for slacprod/SLACPROD and also made a copy of /afs/slac/package/pinger/guthrie/node.pl  in /afs/slac/package/pinger/guthrie/node-ipv6.pl to call the new script. Then I saved the new file using /afs/slac/package/pinger/guthrie/node-ipv6.pl -o > /afs/slac/package/pinger/nodes-ipv6.cf

The password is kept in a protected file. The password on SLACDEV2 was changed to match the one on SLACPROD

Accessing SLACPROD and SLACDEV2 from the web as follows, they use the same windows userid/passwords

XML file at Guanhzhou

See here. Currently, it contains random pingable IPv6 addresses as I have taken it from http://www.ipv6forum.com/ipv6%5fenabled/approval%5flist.php

SLAC Hosts with IPv6 support

Pinger (Linux), www1 (Solaris), www3 (Linux), nospam2-out (Linux), pinger

Looks like nospam2 is working for me.
this is the ipv6 address for nospam2:
```ksa@nospam2 $ host nospam2-out
nospam2-out.slac.stanford.edu has IPv6 address 2620:114:d000:2598::10
ksa@nospam2 $ ```

```ksa@nospam2 $ host google.com | grep IPv6
google.com has IPv6 address 2607:f8b0:4005:808::200e
ksa@nospam2 $ ping6 2607:f8b0:4005:808::200e
PING 2607:f8b0:4005:808::200e(2607:f8b0:4005:808::200e) 56 data bytes
64 bytes from 2607:f8b0:4005:808::200e: icmp_seq=1 ttl=53 time=2.34 ms
64 bytes from 2607:f8b0:4005:808::200e: icmp_seq=2 ttl=53 time=2.24 ms
64 bytes from 2607:f8b0:4005:808::200e: icmp_seq=3 ttl=53 time=2.27 ms
^C
--- 2607:f8b0:4005:808::200e ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2638ms
rtt min/avg/max/mdev = 2.248/2.290/2.347/0.057 ms
ksa@nospam2 $ 
```

www1 also works: 
435cottrell@www1:~>ping -s -A inet6 -a 2607:f8b0:4005:805::200e 
PING 2607:f8b0:4005:805::200e: 56 data bytes 
64 bytes from 2607:f8b0:4005:805::200e: icmp_seq=0. time=2.58 ms 
64 bytes from 2607:f8b0:4005:805::200e: icmp_seq=1. time=2.37 ms 
64 bytes from 2607:f8b0:4005:805::200e: icmp_seq=2. time=2.46 ms 
^C 
----2607:f8b0:4005:805::200e PING Statistics---- 
3 packets transmitted, 3 packets received, 0% packet loss 
round-trip (ms) min/avg/max/stddev = 2.37/2.47/2.58/0.10 

However ns-ext1, pinger do not work: 
436cottrell@ns-ext1:~$ping6 2607:f8b0:4005:805::200e 
PING 2607:f8b0:4005:805::200e(2607:f8b0:4005:805::200e) 56 data bytes 

--- 2607:f8b0:4005:805::200e ping statistics --- 
12 packets transmitted, 0 received, 100% packet loss, time 10999ms 

Exit 1 
436cottrell@pinger:~$ping6 2607:f8b0:4005:808::200e 
connect: Network is unreachable 
Exit 2