Weblog of Jerin Joseph

My Blog on things which interests me

Ipv6 Logo Certification Using TAHI Self Test tool


The intent to write this blog is to help anyone who would like to use the free TAHI Selftest Tool
for the IPv6 Logo Certification. Before I write anything further, I should say that whatever I write
here is based on the support which I got from the TAHI forums and with out those people it wouldn’t have been possible.

Special thanks to Joseph Mattress,Sean Cavanaugh, Mark Atkinson, Arul Murugan, www.ipv6style.jp
and many other Tahi forum members

Note: Most of the things which I write here are applicable only if you want to run TAHI using the
Vremote scripts.
Also most of the issues I discusss here are based on my testing with Cisco
Nexus 7000 dataceneter Switch.So some of the things may not be applicable for other
vendors/devices.

Background on IPv6 Logo Certification and TAHI Self Test Tool

The IPv6 Forum, a world-wide consortium, with a key focus to provide technical guidance for the
deployment of IPv6, launched a single world-wide IPv6 Ready Logo Program (conformance and
interoperability testing).The IPv6 Ready Logo Program is a conformance and interoperability testing
program intended to increase user confidence by demonstrating that IPv6 is available now and ready
to be used.

The IPv6 Forum has created the IPv6 Ready Logo Committee (v6LC), to manage the IPv6 Ready Logo Program. It comprises representatives from equipment vendors, service providers, academic institutions, IPv6 organizations, members from the TAHI Project (Japan), the University of New Hampshire InterOperability (UNH-IOL)(USA), IRISA/INRIA (France), European Telecommunications standardization Institute ETSI (Europe), Telecommunication Technology Association TTA (Korea), Beijing Internet Institute BII (China), ChungHwa Telecom Labs CHT-TL (Taiwan) and Japan Approvals Institute for Telecommunications Equipment JATE (Japan).

IPv6 Ready Logo Phase Series – Phase-1, Phase-2 and Phase-3

The IPv6 Ready Logo series of tests were progressively enriched, from a minimum coverage with Phase-1 to a more complete coverage with the Phase-2 and later on with Phase-3.

  • Phase 1 (Silver) Logo: In a first stage, the Logo will indicate that the prduct includes IPv6 mandatory core protocols and can interoperate with other IPv6 implementations.
  • Phase 2 (Gold) Logo: The “IPv6 ready” step implies a proper care, technical consensus and clear technical references. The IPv6 Ready Logo will indicate that a product has successfully satisfied strong requirements stated by the IPv6 Logo Committee (v6LC).
  • Phase 3 Logo: Currently being planned, will be the same as the Phase 2 Logo in terms of requirements except that the extended test category for IPsec will be mandatory.

More details on IPv6 Ready Logo, Please visit http://www.ipv6ready.org/

TAHI Selftest Tool is a free IPv6 Conformance testing Tool which has a predefined tests as stipulated by the ipv6ready.org.

More details on TAHI, Please visit http://www.tahi.org/ume/

Must Refer Links before you proceed further [Explains how to get the certification and Selftest tool in Details]

Courtesy: www.ipv6style.jp

About IPv6 logo Certification

Getting IPv6 Logo Certification

Interoperability Test Links

Hardware Requirements for TAHI

  1. A stand alone PC/Virtual machine which has 3 NIC cards (1 for management connectivity, and 2 other NICS for connecting to the Unit Under Test which will be referred from hereon as UUT.
    Note: I had tried TAHI on a stand alone PC as well as a VM and following were my configurations
    Standalone PC:  CPU: Intel(R) Xeon(TM) CPU 3.00GHz (3000.12-MHz 686-class CPU), Logical CPUs per core: 2
    Memory : 1 GB
    VM: CPU: Intel(R) Xeon(R) CPU           X5570  @ 2.93GHz (2925.69-MHz 686-class CPU)
    Memory: 256 Mb RAM

FreeBSD9.0 and TAHI Notes

If you are trying to install TAHI v6eval3.3.2 which is the latest version (as per March2012), there are few things which eneds to be taked care. Please refer shaun’s blog (Sean’s Blog on V6eval installation issues in Free BSD 9.0)regarding the same and the comments on that. Thanks a lot Sean for this tip.
Following is the wayto do it, incase the original site gets changed.
Create a file called patch-utmpx with the following contents in the extracted v6eval3.3.2 folder. I have it extracted in /root/

FreeBSD-TAHI# cat /root/v6eval-3.3.2/patch-utmpx
— lib/Cm/CmMain.cc
+++ lib/Cm/CmMain.cc
@@ -47,7 +47,7 @@
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
-#include <utmp.h>
+#include <utmpx.h>
#include <time.h>
#include <pwd.h>
#include <sys/time.h>
@@ -128,19 +128,28 @@

 //———————————————————————-
// &frac34;ã³&sup2;&sup2;òÀÏ&frac34;ðÊóºîÀ®
-static struct utmp *myUtmpEnt(FILE *in,struct utmp *u) {
–       int s=ttyslot();
–       if(s<0||fseek(in,sizeof(struct utmp)*s,0)<0||
–               fread(u,sizeof(struct utmp),1,in)==0) {return 0;}
–       return u;}
void CmMain::makeCatch2Eye(STR p) {
static char catch2[]=” on %*.*s:%-*.*s from %*.*s”;
–       struct utmp ux[1], *u; FILE *in;
–       if((in=fopen(“/etc/utmp”,”r”))==NULL) {return;}
–       u=myUtmpEnt(in,ux); fclose(in);
–       if(!u) {return;}
+       struct utmpx ul, *u;
+       const char *tty;
+
+       tty = ttyname(0);
+       if (tty == NULL)
+               tty = ttyname(1);
+       if (tty == NULL)
+               tty = ttyname(2);
+       if (tty == NULL)
+               return;
+       if (strncmp(tty, “/dev/”, 5) == 0)
+               tty += 5;
+       strncpy(ul.ut_line, tty, sizeof(ul.ut_line));
+       setutxent();
+       u = getutxline(&ul);
+       endutxent();
+       if (u == NULL || u->ut_type != USER_PROCESS)
+               return;
#define A(a)sizeof(a),sizeof(a),a
–       sprintf(p,catch2,A(u->ut_line),A(u->ut_name),A(u->ut_host));
+       sprintf(p,catch2,A(u->ut_line),A(u->ut_user),A(u->ut_host));
#undef A
return;}
void CmMain::makeCatchEye(const STR pgmName) {
FreeBSD-TAHI#

Now patch the lib/Cm/CmMain.cc file using the following command
FreeBSD-TAHI# pwd
/root/v6eval-3.3.2
FreeBSD-TAHI#
FreeBSD-TAHI#patch lib/Cm/CmMain.cc </usr/include/patch-utmpx

Following are some useful FreeBSD commands which will come handy

  1. Uninstalling a application which is installed via ports
    In FreeBSD to uninstall an application which is installed via ports go to the ports directory of that application and issue the command “make deinstall”
    eg:
    FreeBSD-TAHI# cd /usr/ports/lang/p5-Expect
    FreeBSD-TAHI# make deinstall
    ===>  Deinstalling for lang/p5-Expect
    ===>   Deinstalling p5-Expect-1.21
    FreeBSD-TAHI#
  2. Patching a file
    Patching is used mainly to update a source code to make changes easily. The most commonly used syntax for the same is
    patch targetfile <patchfile
  3. Checking the perl version: perl -v
  4. Checking the perl modules present in the system: Type the commands “instmodsh” and then press “l”

Step by step guide for Installing TAHI Selftest Tool

  1. Download FreeBSD 7.2 or higher from the internet. I choose Free BSD 7.3 over higher versions as the above versions had a bug with Intel NICS, where the NIC card was not getting detected. (This issue is solved in FreeBSD 9.0, But please see the FreeBSD 9.0 Notes before proceeding)
  2. Install Free BSD on to a stand alone machine/Virtual machine
  3. Make sure you have got internet connectivity from the FREE BSD machine. If you are using a proxy server, following commands will set configure proxy. Replace the address with your address
    setenv http_proxy http://proxy.com:8080
    setenv ftp_proxy http://proxy.com:8080
    setenv HTTP_PROXY=http://proxy.com:8080
    setenv FTP_PROXY http://proxy.com:8080
    Note: For FreeBSD ports(similar to apt-get or yum) to work with proxy you may have to change the following as well
    So please edit the following file/create if its not there
    /etc/make.conf Add the following entries
    FETCH_ENV=  HTTP_PROXY=http://proxy.com:8080
    FETCH_ENV+= FTP_PROXY=http://proxy.com:8080
  4. Download the latest v6eval tool from http://www.tahi.org/release/v6eval/v6eval-3.3.2.tar.gz
  5. Download the latest SelfTest Tool from http://www.tahi.org/logo/release/Self_Test_5-0-0.tgz
  6. Download the v6eval-remotes scripts from http://www.tahi.org/release/v6eval/v6eval-remotes-3.0.tar.gz
  7. Before installing the above tools we need to install the below (This is a copy paste from INSTALL.dummies and INSTALL.v6eval which can be found in v6eval package)
    Install perl5
    Install perl mmodules
    Install IO-Tty by cd /usr/ports/devel/p5-IO-Tty && make install
    Install IO-Pty by cd /usr/ports/devel/p5-IO-Pty-Easy && make install
    Install Expect by cd /usr/ports/lang/p5-Expect && make install
    Install Digest-MD5 by cd /usr/ports/security/p5-Digest-MD5 && make install
    Install YAML by cd /usr/ports/textproc/p5-YAML && make install
    Checking whether the perl modules got installed
    FreeBSD-TAHI# instmodsh
    Available commands are:
    l            – List all installed modules
    m <module>   – Select a module
    q            – Quit the program
    cmd? l
    Installed modules are:
    Digest::MD5
    Expect
    IO::Pty::Easy
    IO::Tty
    Locale::gettext
    Perl
    V6evalCommon
    V6evalRemote
    V6evalTool
    YAML
    cmd?

    If you have all the above modules installed then you are good to go.
    Install apache Webserver(Recommended as the results are in html format), links a text browser and vim if required
    Start Apache webserver by issuing “/usr/local/sbin/apachectl start”
  8. Install V6eval by doing the following commands
    Extracting the package
    % cd $SOMEWHERE
    % tar zxvf v6eval-X.Y.Z.tar.gz
    Compiling & installing the tool
    % cd $SOMEWHERE/v6eval-X.Y.Z
    % make
    # make install
  9. Make bpf special device.
                    # vi /etc/rc.conf
    # vi /etc/devfs.rules
                    /etc/rc.conf
    —————————————————————-
    devfs_system_ruleset=”devfsrules_unhide_bpf”
    —————————————————————-
                    /etc/devfs.rules
    —————————————————————-
    [devfsrules_unhide_bpf=1025]
    add path ‘bpf*’ user root group wheel mode 0660 unhide
    —————————————————————-
            The user who executes conformance test need to belong in wheel group.
                    # vi /etc/group
  10. Configure serial line
                    # touch /var/log/aculog
    # chown uucp:dialer /var/log/aculog
    # chmod 660 /var/log/aculog
            The user who executes conformance test need to belong in dialer group.
                    # vi /etc/group
  11. Interface configuration
            disable IPv6 support on network interface used in testing.
                    # vi /etc/rc.conf
                    /etc/rc.conf
    —————————————————————-
    ipv6_enable=”NO”
    —————————————————————-

    At least, one or two network interfaces used in testing
    must be ‘up’ status.
                    # vi /etc/rc.conf
                    /etc/rc.conf
    —————————————————————-
    ifconfig_<Link0_device_name>=”up”
    —————————————————————-
    If NUT is a router, you need to specify also Link1.
  12. Install the V6eval-remotes package (In my case I have taken the cisc-ios scrips as a base-line and changed the CLIS to match with NXOS)
    Note: Installation is not a must. Copying the script directory to /usr/local/v6eval/bin/ and giving all the *.rmt scripts execution permission is more than enough
    Find an OS similar to the sample OSes which are given along with V6eval-remotes package. IN my case I took cisco-ios as baseline.
  13. Edit the V6evalRemote.pm file and make the following changes (Most of these are based on my OS)
    Search for cisco-ios and replace it with nxos-svi (Not mandatory though it would be good)
    Replace the cisco-ios propmpts and commands with your Operating Systems prompts and commands wherever applicable (eg: login: , password, # etc)
    Edit the *.rmt scripts inside the cisco-ios directory with your OS commands. Some tweaks in timing may be required based on the UUT OS.
    Rename the cisco-ios directory to nxos-svi for consistency across everywhere
    Run a sample script to make sure script is able to connect to UUT (please change the parameters according to your config”
    perl /usr/local/v6eval/bin/nxos-svi/reboot_async.rmt -t nxos-svi -u jerin -p jerin -d 10.104.104.117 -o 1 timeout-120
    where -t is the device to be picked from V6evalRemote.pm
    -u username to login to the uut
    -p password to login to the uut
    -d Device which is sepcified in the tn.def (cuad0 if you are using serial port to connect, in my case mgmt ip of the device as I use telnet)
    If the script is able to login then we are done.
  14. Configuring the nut.def (I have mentioned only the relevant areas which needs to be changed. uut related configs are done in this file)
    Note: Please be careful while editing this file as small mistakes like additional spaces/TABS in this file may cause TAHI not to run)
    change the following

    nut.def.sample

    nut.def

    HostName        target.tahi.org HostName        <your_device_prompt>
    Type            router set the type to host/router/special device according to your need
    User            root User            <username_of_ur_device>
    Password        v6eval Password        <password_of_ur_device>
    System          manual System          <ur_required_script_folder_name>
    eg: System          cisco-ios
    Link0           fxp0            00:00:92:a7:6d:f5 Link0           <uut_int_name_1>            <ur_routermac>
    eg: Link0           Vlan10          00:26:98:1b:e1:41
    Link1           fxp1            00:00:92:a7:6d:f6 Link1 <uut_int_name_2> <ur_routermac>
    eg: Link0           Vlan20          00:26:98:1b:e1:41


    Note: TAHI recommends configuring the interface as a Layer-3 port. But since our Cisco N7k is a Multi layer switch and
    since I want to run TAHI across multiple line cards (some line cards have only layer-2 support), I used SVI’s (Vlan interfaces)
    TIP: Best way to get this change done is via sed command
    cat /usrlocal/v6eval/etc/nut.def.sample | sed -e ‘s/find1/replace1/find2/replace2’

  15. Configure the tn.def(test tool related configurations are done in this file) according to your requirements

    tn.def.sample

    tn.def

    RemoteDevice    cuad0 RemoteDevice    <mgmt_ip/serialport>
    eg: RemoteDevice    10.104.104.117
    RemoteDevice    cuad0
    Link0           de0             00:00:00:00:01:00 Link0           <freebsd_int_name1>             00:00:00:00:01:00
    eg: Link0           em1             00:00:00:00:01:00
    Link1           de1             00:00:00:00:01:01 Link1           <freebsd_int_name2>             00:00:00:00:01:01
    eg: Link1           em2             00:00:00:00:01:01


    Note: em1 in the example tn.def is connected to the Vlan10 in nut.def

  16. If you have installed webserver, then copy the Self_Test_5-0-0.tgz to /usr/local/www/data/ and then untar it
  17. Now cd to Self_Test_5-0-0/ and to execute phase 1 issue “make ipv6ready_p1_router” and to execute phase 2 “make ipv6ready_p2_router”

UUT Configuration before running the script

For the default TAHI tests to work, the following EUI-64 IPv6 prefix addresses needs to be configured on the device

Interface connected to TAHI Link0: 3ffe:501:ffff:100::/64

Interface Connected to TAHI Link1:  3ffe:501:ffff:101::/64

My Topology

Topology

Interface Vlans/SVis Vlan10 and Vlan 20 are configured on UUT.
N7k1 acts a L2 switch which relays the packet from freebsd/TAHI to UUT2

Reason for selecting two node topology instead of the standard 1 node topology
In N7k we have a variety of linecards and we wanted to make sure TAHI passes on all types of line cards. But one of the constraints which we had was
the type of interface on each linecard and the speed of the new linecards which are about to come. If we wanted to do this one way is change the NIC
on Free BSD according to the linecard which we have to test, which is a difficult procedure. Instead of that what we did is, we kept the FreeBSD NIC
as a gigabit ethernet copper port and N7k1 will have a linecard which has copper gigabit port and this setup is permanent. And the same N7k1 will e populated with
different types of line card and that will be connected to UUT via  a trunk port.

Following are the things/requirement which prompted me to write this blog.

  • TAHI on Virtual Machine: Neither in TAHI website nor in anyother sites mention about the issues of running TAHI Selftest Tool on Virtual machines which has become a defacto standard now a days. I will try to put the solutions/workarounds which I had to do inorder to make it work.
  • addr.p2 section issue: I didint want to reboot the device for the addr.p2 section to initate a DAD, as that will cause lot of time. Normally in most of the routers/multi-layer switches admin down and admin up of the ipv6 enabled interface will cause IPv6 DAD to be initiated. This is fairly simple by replacing the reboot command in the reboot_async.rmt script to a interface admin down admin up (More details will follow)
  • Timing Issue in addr.p2 Section: If you want to adminup/down like me for the addr.p2 section, then trhere is another issue which needs to be tackled. Since we are doing a admin down and up in TAHI by passing the control frm TAHI to Vremote, sometimes interface will be up and must have send DAD before the TAHI pkt capture program gets the control and this will cause the TAHI testcase to fail as TAHI wouldn’t get any DAD NS packets from device as it have already send.
  • Alternate Connection via mgmt port instead of Serial port: This was one of the most important thing, because In my case its always difficult to have a serial cable connected to the device just to run TAHI as in our company we use terminal server to connect to devices.
  • Other parameters: I wanted to run TAHI with multiple options for our devices like in Cisco nexus 7000 has got lots of variety of linecards and I wanted to make sure TAHI is passing in any type of linecard. For that I had to change the TAHI default single node topology to a dual node topology

TAHI On Virtual Machines
   When you are running TAHI in a Virtual Machine, following additional settings you need to do on ESX Vsphere

  1. Need to Add a serial port to the VM. This can be done by right clicking on teh Free-BSD VM –>Edit Settings–>hardware Tab–>Add–>Serial Port–>Next–>Select the option Use Physical Serial Port on the Host–>Select the correct physical serial port–>next–>finish
    Note: This is required only if you want to TAHI to run config commands on device via serial port. I didnt want this functionality as I was using management telnet of my device.
  2. Make sure TAHI test links are attached to a Vswitch where no other VMS are connected, else traffic from other VMS may cause issues
  3. Enable Promiscuous mode in Vswitch (This can be done by Home–>Inventory–>Configuration–>networking–>Vswithc–>properties–>Select vswitch–>edit–>security)
  4. Sometimes, in my case, ESX server will send IGMPv3 queries to the Virtual machines. To check this run tcpdump on any of the free bsd interface (tcpdump -i em1) and if there is a IGMPv3 packet coming with SMAC set to null mac then tahts the issue. As per Vmwares website (http://www.vmware.com/files/pdf/technology/esx35_ip_multicast.pdf) it is used for Vmotion, but this can cause problems in TAHI. To disable this go to
    Home–>Inventory–>Configuration–>advanced Settings–>Net (Now go to the bottom part of that list nad from there slowly scroll up to see the following string Net.IGMP Queries (it will be set to 2, change it to 0 to disable it)

Addr.p2 Section Issues
  Since In my case I have opted to go with interface admin down/up instead of reboot for intitating duplicate address detection, theres an issue which we need to tackle. We need to make sure there is a delay in the interface being coming up because, if it comes up so fast, then by the time the v6eval-remote script reboot_async.rmt passes the control to tahi for capturing packets, dad would be already send and testcase will fail. The way I made sure there is a delay was by using the help of Cisco’s EEM script,
In the reboot_async.rmt i made sure only I will do the shut and then the script passes control to TAHI. Internally the EEM script what it will do is , I have a tracking option enabled for the interface which I shut in the reboot_async.rmt in the EEM script, and the action defiuned for that event is to admin up the interface and there is a additional sleep time of 10 seconds also given t make sure enough time is there.

Following is eem config from NXOS
“track 1 interface Vlan10 line-protocol    !!!this will track the interface Vlan10 when it goes down
event manager applet adminup
event track 1 state down               !!Whenever the tracking interface goes down do the following
action 1 cli conf t                          !!go to config mode
action 2 cli int Vlan10                    !!go to interface mode
action 3 cli sleep 10                      !! sleep for 10 seconds
action 4 cli no shut”                      !!admin up the interface
Before trying the option I have tried different other options like playing around with stp, but with those I was not able to get a complete PASS across multiple runs. So finally this helped me in getting complete pass across multiple runs.
Note: Somehow this issue happens once in 3 runs or so, so if you dont want to run continious runs of TAHI, no need for such a tweak.

Alternate Connection via mgmt port instead of Serial port
    Since having a dedicated serial connection to UUT was not possible in our company, we had to look for other options like TAHI to connect via mgmt interface or via  terminal server port. Joseph matress and Sean helped me with this and it proved to be really helpful and faster execution than via serial port. I chose to  connect via mgmt interface than via telnet. Following files needs to be edited for the same, assuming nut.def has beeen already configured properly
/usr/local/v6eval/tn.def  –> Set the RemoteDevice to the Mgmt Ip address of the uut
RemoteDevice 10.104.104.117
/usr/local/lib/perl5/site_perl/5.10.1/V6evalRemote.pm–> In this file change the following entries
In this file here is a section called BEGIN {
In that set the following
$Bye=”exit”;
$CU=”telnet”;
my $TermCmd = “$CU -l $User $Device”;
I still kept  the -l option as I was using the root user to login to freebsd, if you dont use the -l $User, telnet will assume root as the username and try to connect which will fail in ase of NXOS as the NXOS username is admin. so having -l $User is a good idea.

Another issue which I faced while running a batch run of TAHI multiple times was that the passowrd or username which was send through the rLogin procedure in V6evalRemote.pm was having a delay and due to which the login to device fails. The main problem was that the default rLogin procedure was not taking care of the retries correctly eventhough as per code it seems to do so. This was a difficult one for me as this was seen only once in 3 or 4 iterations. I tried changing multiple things and didnt succeed. Finally I replaced the rLogin procedure with a proc which I got from perl expect site which i have pasted below.


sub rLogin($)
{
my($timeout)=@_;
my($retry)=8;
my($i)=0;
my($t)=$init_timeout;
my($is_admin)=0;
my($is_admin2)=0;

     $timeout=50;    # special patch for long login timeout (such as netbsd-i386)

#   if($Remote == undef) {
if(!defined $Remote) {
print STDERR “rOpen() should be called first.\n”;
return 0;
}

    if($debug) {
print STDERR “prompt_user: “$prompt_user{$Type}”, “.
“prompt_password: “$prompt_password{$Type}”, “.
“prompt_command: “$prompt_command{$Type}”\n”;
}
$Remote->expect($timeout,
[
qr’login: $’,
sub {
print STDERR “rLogin: Got Login prompt\n” if $debug;
$spawn_ok = 1;
my $fh = shift;
$fh->send(“$User\n”);
exp_continue;
}
],
[
‘Password: $’,
sub {
print STDERR “rLogin: Got password prompt\n” if $debug;
my $fh = shift;
print $fh “$Password\n”;
exp_continue;
}
],
[
eof =>
sub {
if ($spawn_ok) {
die “ERROR: premature EOF in login.\n”;
} else {
die “ERROR: could not spawn telnet.\n”;
}
}
],
[
timeout =>
sub {
print STDERR “rLogin: Retry error\n”;
print STDERR getOutput();
return 0;
}
],
‘-re’, qr'[#>:] $’, #’ wait for shell prompt, then exit expect
);

    #
# login
#
return 1;
}

Another important thing to note while using alternate management connection is to modify the reboot script. Since by default, TAHI expects the UUT to be connected via the serial port, reboot.rmt script which is part of the vremote package reboots the device and waits for the login prompt to come after reboot. This wont work with management connection as the telnet/ssh connection will be disconnected at the time of switch reload. So the work around for this is to edit the reboot.rmt script in the directory corresponding to your device and change the below

Default reboot.rmt

#Open a connection to the DUT
rOpen() || goto error;
$rOpt_timeout = 300 if ! defined($rOpt_timeout);

#Login to the device
rLogin(5) || goto error;
#reboot the device and wait for the log in prompt
rReboot($rOpt_timeout) || goto error;

### wait for login prompt (race conditioning for NetBSD-sparc)
rLogin($rOpt_timeout) || goto error;
rLogout($rOpt_timeout) || goto error;
###

Tweaked reboot.rmt for alternate mgmt connection

rOpen() || goto error;
$rOpt_timeout = 300 if ! defined($rOpt_timeout);

rLogin(5) || goto error;
rRebootAsync($rOpt_timeout) || goto error;
#Sleep for 200 sec. Change the seconds according to your device’s reboot time.
sleep(200);

rClose();
exit($V6evalRemote::exitPass);

error:
rClose();
exit($V6evalRemote::exitFail);


Other Issues or Common Mistakes which needs to be aware of

  1. Make sure the UUT wont transmit any other type of data or control packets other than the expected ipv6 packets. examples are spanning-tree BPDUs, cdp packets, lldp packets etc. In my case I have disabled spanning tree and cdp to take care. Alternatively for cisco devices you can use bpdufilter for the same. If any such packets are coming which cannot be disabled then can think of blocking those packets via MAC ACLS as well.
  2. Sometimes TAHI/tcpdump wont be able to capture any packets if there is no IPv4 address assigned to that interface and because of this also testcases can FAIL.
    To avoid this assign dummy IPv4 addresses to the FREE BSD interfaces which are connected to the UUT.

Some usefule Tips/quick Reference while running TAHI

  1. Running Phase-1 tests: Change directory to the untared Selftest Tool location and issue the command “make ipv6ready_p1_router”. Replace router with host if you want to test it against hosts. [Refer Makefile.test in the Selftest tool directory]
    DC3-03-bsd# pwd
    /usr/local/www/data/Self_Test_5-0-0
    DC3-03-bsd#
    DC3-03-bsd# make ipv6ready_p1_router

  2. Running Phase-2 tests: Change directory to the untared Selftest Tool location and issue the command “make ipv6ready_p2_router”. Replace router with host if you want to test it against hosts.
    DC3-03-bsd# pwd
    /usr/local/www/data/Self_Test_5-0-0
    DC3-03-bsd#
    DC3-03-bsd# make ipv6ready_p2_router
  3. How to run specific tests in a section [This is a very useful tip] : There are two ways to do this, but I would always prefer the 1st method as its pretty straight forward and also it gives the test result fo PASS/FAIL as well.
    • Using AROPTS: Change directory to the untared Selftesttool location and then go to the section where you want to run sepcific test cases and then issue the following command make ipv6ready_p1_router AROPT=’ -s 8 -e 8 ‘
      where -s is the starting test case id and -e is the ending test case id. if you just want to run a single test case give same value as argument to -s and -e.
      DC3-03-bsd# cd nd.p2/
      DC3-03-bsd# pwd
      /usr/local/www/data/Self_Test_5-0-0/nd.p2
      DC3-03-bsd# make ipv6ready_p1_router AROPT=’ -s 8 -e 12 ‘
      The above command will run testcases from 8till 12
    • Editing the makefile: Another way to do the same but cumbersome procedure is to edit the make file, eitheryou can comment out all the testcases which you dont want to run in the particular section by editing the following file or creating a new file with the describefd below with only the required testcases. File name changes per section
      1. spec.p2 section: INDEX_p1_router [for phase 2 INDEX_p2_router]
      2. nd.p2 section:  ND Section has multiple subsections
        • nd section:INDEX_ND_p1_router [This handles all the neighbor discovery related testcases]
        • Router discovery section: INDEX_RD_p1_router[This handles all the Router discovery related testcases]
        • Redirect Section: INDEX_REDIRECT_p1_router [This handles the Redirect testcases]
        • addr.p2 section: INDEX_P1_ROUTER
        • pmtu.p2 section: INDEX_p2_router
        • icmp.p2 section: INDEX_P1_router Now to run just go to the section and issue make ipb6ready_p1_router
    • Another way is to directly get the command from the previous test results [This can be found from the result logs of a test case. Look for Command line eg:to run it go to the section where the test case is and execute ./IP_Version.seq -pkt ./IP_Version.def -log 2.html
  4. Tweaking the timing/other test parameters: To tweak some of the wait time or other test related settings there is a config.pl which can be edited. Also awareness of these timers will help in debugging why a testcase failed. test cases in TAHi will fail when we dont receive a packet with in a particular time which is defined in these config.pl. Also its not recommended to change the defaults unless it is very necessory.
    1. Global config.pl: This has the global settings for all testcases and can be found in the root directory of Selftest tool. These settings are useful if your device/NUT doesn’t support all the features and according to the settings, some testcases will be skipped so that only the relevant testcases for yoiur NUT will be executed. Since the device which I work on supports everything I used the defaults
      $TRANSMITTING_EREQ = 1; [Nut supports transmitting echo requests]
      $MULTICAST_ROUTING = 1; [Nut supports multicast routing]
      $MTU_CONFIGURATION = 1; [Nut supports MTU configuration]
      $HAS_MULTIPLE_INTERFACES = 1; [Nut has Multiple interfaces]
      where value 0 means not supported or 1 or non-zero means supported
    2. Per Section config.pl: This file has settings which will be related to the section where this file is found and can be found in the section folder
      • spec.p2: config.pl
        1. $wait_dadns = 5; #wait time for DADNS respond to RA.
        2. $wait_after_dadns = 5; # wait time for transmit packet after received DADNS.
        3. $wait_reply = 5; # wait time for echo_reply, icmp_err, …
        4. $exceed_max = 65; # wait time for ICMP Time Exceeded, for Fragmentation test.
        5. $exceed_min = 55; # accept ICMP Time Exceed if this time passed after receiving 1st fragment
        6. $cleanup = “normal”; [# Common Cleanup Procedure.
          # Available actions are:
          # normal: (UNTER CONSTRUCTION)
          # (1) send RA with Router/Prefix Life Time set to zero.
          # (2) send NA with SLL containing a different cached address.
          # (3) Transmit Echo Request. (never respond to NS)
          # reboot:
          # (1) reboot target.
          # (2) sleep $sleep_after_reboot
          # nothing:
          # do nothing. (only sleep $cleanup_interval)
        7. $wait_incomplete = 10; # wait for Target Neighbor Node Cache state transit to INCOMPLETE.
        8. $wait_rebootcmd = 300; # maximum waiting time for putting reboot command to NUT. ONly in case of automated run
        9. $sleep_after_reboot = 10; # sleep time after reboot.
        10. $cleanup_interval = 5; # sleep time in cleanup “nothing” procedure.
      • nd.p2: config.pl
        1. $wait_rebootcmd = 300; # maximum waiting time for putting reboot command to NUT
        2. $sleep_after_reboot = 0; # sleep time after reboot.
        3. Router Configuration Variables
          1. $min_MaxRtrAdvInterval = 4;
          2. $max_MaxRtrAdvInterval = 1800;
          3. $min_MinRtrAdvInterval = 3;
          4. $max_MinRtrAdvInterval = 1350;
          5. $min_AdvLinkMTU = 0;
          6. $max_AdvLinkMTU = 1500;
          7. $min_AdvReachableTime = 0;
          8. $max_AdvReachableTime = 3600000;
          9. $min_AdvRetransTimer = 0;
          10. $max_AdvRetransTimer = 0xffffffff;
          11. $min_AdvCurHopLimit = 0;
          12. $max_AdvCurHopLimit = 255;
          13. $min_AdvDefaultLifetime = 0;
          14. $max_AdvDefaultLifetime = 9000;
          15. $min_AdvValidLifetime = 0;
          16. $max_AdvValidLifetime = 0xffffffff;
          17. $min_AdvPreferredLifetime = 0;
          18. $max_AdvPreferredLifetime = 0xffffffff;
      • addr.p2: config.pl
        1. $wait_dadna = 5; # time between DAD NS and DAD NA
        2. $wait_solna = 5; # time between NS and solicited NA
        3. Implementation depend conditions
          • $wait_rs = 5; # time between receiving DAD for LLA and receiving RS
          • $wait_dadns{‘reboot’} = 130; # time to reboot *set a little bit longer time than actural time to reboot
          • $wait_dadns{‘ra’} = 5; # time to wait for DAD NS for global address after receiving RA *for IPv6 Ready Logo Phase-1 “reboot” and “ra” are enough time to reboot
          • Nut related Variables
            • $DupAddrDetectTransmits = 1; #DupAddrDetectTransmits How many times the target sends DAD NS packets
            • $DADTransmitsGA = “ANY”; #DupAddrDetectTransmits for GA and SLA, If the target perform DAD for GA or SLA, set “YES”, If the target DOES NOT perform DAD for GA or SLA, set “NO”, If you don’t care whether the target perform DAD for GA or SLA, set “ANY”. *for IPv6 Ready Logo Phase-1, use “ANY”
            • $RetransTimerSec = 1; #RetransTimer/1000 [sec], The time between retransmission of NS
        4. $wait_rebootcmd = 120; # maximum waiting time for putting reboot command to NUT
        5. $wait_addrconf_base = 5; # time to actually address assigment after ending DAD
        6. $lla_autoconf = “YES”; # Specify if the target machine configure its link-local address automatically specify “YES” or “NO”
      • pmtu.p2
        1. Setup related Variables
          • $wait_dadns = 5; # wait time for DADNS respond to RA.
          • $wait_after_dadns = 5; # wait time for transmit packet after received DADNS.
        2. Main Variables
          • $wait_reply = 5; # wait time for echo_reply, icmp_err, …
          • $default_mtu = 1500; # default MTU specified by Media Type. default: 1500[octet] (on Ethernet). CAUTION: except 1500 is now unsupported.
          • $tmpdef = “./tmpPacket.def”; # temporary file of packet definition.
        3. Cleanup related variables
          • $cleanup = “normal”; [# Available actions are:
            normal:(1) send RA with Router/Prefix Life Time set to zero.
            (2) send NA with SLL containing a different cached address.
            (3) Transmit Echo Request. (never respond to NS)
            reboot:
            (1) reboot target.
            (2) sleep $sleep_after_reboot
            nothing:do nothing. (only sleep $cleanup_interval)
            ]
          • $wait_incomplete = 10; # wait for Target Neighbor Node Cache state transit to INCOMPLETE.Note: this is only used in cleanup “normal”. DELAY_FIRST_PROBE_TIME = 5 [sec]
            RETRANS_TIMER = 1,000[msec]
            MAX_UNICAST_SOLICIT = 3
            5 + 1.000 * 3 = 8[sec]
          • $cleanup_interval = 5; # sleep time in cleanup “nothing” procedure.
        4. $wait_rebootcmd = 300; # maximum waiting time for putting reboot command to NUT
        5. $sleep_after_reboot = 10; # sleep time after reboot.
      • icmp.p2
        1. $wait_reply = 5; # Time to wait for reply of packet from NUT to packet which TN sent. echo reply , icmp error message, echo request from NUT to TN is also contained
        2. $wait_time_exc = 65; # The maximun time to wait for fragment reassembly time exceeded message
        3. $reboot_incleanup = “NO”; # whether to reboot in cleanup() function, YES: reboot No: to not reboot
        4. $wait_rebootcmd = 300; # maximum waiting time for putting reboot command to NUT
        5. $sleep_after_reboot = 0; # sleep time after reboot.
        6. Cleanup related variables
          • $wait_time_for_ns = 10; # This time use in cleanup() function.This parameter shows time after transmitting na until TN receives ns N times.
          • $count_ns = 3; # This count use in cleanup() function.This parameter shows number of times which receives NS.

Published by

100 responses to “Ipv6 Logo Certification Using TAHI Self Test tool”

  1. Thanks a lot for the shared test setup.
    I am working on IPV6 core protocols core conformance testing.
    I’ve made all the required test setup.
    could you please tell me how to open the executed test cases in the apache server.(i.e configured on my TN).

    1. Thanks Prasanna. It depends on the Apache version which you have installed.
      Once you have installed Apache webserver, untar/extract the Selftest tool to
      either /usr/local/www/data/ or /usr/local/www/apache22/data [if you have apache22 version]. Now execute the testcases from this location. To satrt the Apache server issue the following command “/usr/local/sbin/apachectl start”. Now go to your browser and point to the ip address of the Free BSD machine and you are good to go.

  2. Jerin!!thanks for the quick reply.

    1.I’ve installed apache22 on TN.apache server is running on my local host ieTN.

    01hw412111# /usr/local/sbin/apachectl start
    httpd (pid 54013) already running

    2.I executed the test cases in /usr/local/www/data/Self_Test_5-0-0/spec.p2

    make ipv6ready_p2_host AROPT=’-s 5 -e 6′

    /usr/local/v6eval/bin/autorun -G -title=’Section 1: RFC 2460 – IPv6 Specification’ INDEX_p2_host
    Error : Already exist index.html.
    please run after delete index.html or run with -f option.
    /usr/bin/perl -e ‘use Pod::Html; pod2html(“–noindex”, @ARGV);’ SPEC.pm > SPEC.html
    rm -f pod2html-dircache pod2html-itemcache
    /bin/rm -f index.html summary.html report.html
    /usr/local/v6eval/bin/autorun -s 5 -e 6 -F -tiny -title=’Section 1: RFC 2460 – IPv6 Specification’ INDEX_p2_host
    ========== TEST 5 ==========
    ./IP_PL_Odd.seq -pkt ./IP_PL_Odd.def -log 5.html -ti “Part A: Payload Length Odd”
    Start Capturing Packets (Link0)
    Send Echo Request (Payload Length Odd)
    Recv Neighbor Solicitation (Link-Local to Link-Local)
    Send Neighbor Advertisement (Link-Local to Link-Local)
    Recv Echo Reply
    OK
    — Cleanup NUT
    Send Neighbor Advertisement (Link-Local Address with Different Link-layer Address)
    Send Echo Request
    Wait for transit target Neighbor Cache Entry to INCOMPLETE/NONCE (10 sec.)
    Stop Capturing Packets (Link0)
    -> PASS
    ========== TEST 6 ==========
    ./IP_PL_Even.seq -pkt ./IP_PL_Even.def -log 6.html -ti “Part C: Payload Length Even”
    Start Capturing Packets (Link0)
    Send Echo Request (Payload Length Even)
    Recv Neighbor Solicitation (Link-Local to Link-Local)
    Send Neighbor Advertisement (Link-Local to Link-Local)
    Recv Echo Reply
    OK
    — Cleanup NUT
    Send Neighbor Advertisement (Link-Local Address with Different Link-layer Address)
    Send Echo Request
    Wait for transit target Neighbor Cache Entry to INCOMPLETE/NONCE (10 sec.)
    Stop Capturing Packets (Link0)
    -> PASS

    —————————————————————————————————————————————
    Now in the web browser when i type “http://172.25.125.197/index.html test results are not seen.

    1. Ok I got the issue. Forgot to mention By default when u install apache, it creats a index.html file in the /usr/local/www/data to test apache is working. So u have to delete that. Once you are done, you will be able to see the directories and files in /usr/local/www/data. Sometimes browsers cache will be still pointing to the old index.html, you may have to clear the cache or use a different browser to test it.

  3. Hi Jerin,
    Nice information for new bees.
    I think make ipv6ready_p2_host will run all the test cases.
    Please tell me if I want to run a specific test case what I have to do ?

    1. Thanks Chandra. yes running phase2 will run all the testcases. For running selected testcases, refer the section “Some usefule Tips/quick Reference while running TAHI” in my blog. In that look for “Using AROPTS: “

  4. Thanks jerin

  5. Hi Jerin,

    thanks a lot for the detailed post.
    Currently I also try to run the SelfTest tool.
    All tests finished successfully expect of three testcases in the nd.p2 test sequence (138, 147 and 149).
    Did you also observed these testcases failing?

    1. Hi Jacek,
      Thanks. I have ran only phase-1 so far. The testcases which you mentioned are part of phase-2. Without analyzing the logs it will be difficult to find the root cause for failure.
      While analyzis its always good to compare it with a passed report, so that you can find the problem quickly. Please refer the following link for pass report on FreeBSD
      http://www.tahi.org/logo/phase2-core/result/Self_Test_4-0-3/freebsd71.router/

      1. Hi Jerin,

        thanks for the quick reply. I will have a look at the test results and compare them with mine.

  6. Hi Jacek,

    Do you have any idea about the supported routers for the Interoperability test.

    1. Hi,

      not really but I’ve checked the IPv6 ready approved list (https://www.ipv6ready.org/db/index.php/public/?o=6) to get an impression which routers were used by other people for interoperability test.

  7. Hi Jerinjoseph,
    Can you pls share how to make a Tahi-IPv6-Interoperability set-up?

    Thanks,
    Guju

    1. Hi guju,
      At the time when I started this post, there was a good post from ipv6style.jp site on how to setup interoperability test in tahi. That’s the reason why I didn’t write a post for it.Unfortunately, that site is down now and its contents are not available. Its difficult for me to post about the setup as I have dismantled my Tahi setup and I don’t remember most of the things. But do post your queries, I will try to answer if I remember it.

    2. Hi Guju,
      I am having the documentation for the same, If you want will share the same with you as i am unable to attach the doc. over here. Don’t forget to share your mail id.

      1. Hi Kiran

        Could you please send me the documentation too ? Email – chinturaju1979@gmail.com

        We are struggling here to get this on setup 😦

        Thanks
        Chintu

      2. Hi Chandra,
        good to hear that you have documented it. Could you share that to me as well(email: jerinjoseph@gmail.com). I will add it to the blog when I get time for the benefit of others(Hope that’s ok to you)

  8. Hi Jerin

    The Interop setup we had with us, for some reason is not booting up due to bad sectors. This is on the TAR1 machine we have for the FreeBSD OS. We are not sure how to make a new one. Can you help here? Any documents from any website on how to setup would be great.

    Thanks in advance!
    Chintu

    1. Hi Chinthu,
      If you know how to run the vel tool, Installing/Bringing up a TAR-1 machine alone is very easy as its just a matter of installing one of the target OS and the vel tool and starting the vel client.
      Steps are
      1. install the free bsd OS.
      2. Download the vel tool from the tahi site (
      3. untar it
      4. now type the following commands ./configure make and make install [Please do refer the README file which explains every thing step by step]
      5. to start the client type the below commands
      /usr/local/vel/bin/vela &
      /usr/local/vel/bin/velo &
      6. Run the velm from the vel mgr.

      1. Thanks Jerin!

        We have reached step 4 now, and we are receving error with the make and make install commands. As below:
        CmMain.cc:145: error: invalid use of incomplete type ‘struct utmp’
        CmMain.cc:133: error: forward declaration of ‘struct utmp’
        [CmMain.0] Error code 1

        If you could send me the documentation on chinturaju1979@gmail.com, it would be of great help.

      2. Hi Chintu,
        I hope you are using Free BSD 9.0 and thats why you are getting this error. Refer and follow the instructions in the “FreeBSD9.0 and TAHI Notes” to correct it.

  9. Does the project show a reasonable return on the additional investment?
    Is there a feeling of gratitude towards those who gave that money?
    Lenders are actually quite straightforward in their policies,
    and always look for a way of getting money. Visit Federal Student Aid for more
    information.

  10. Hy!

    Thanks for your guide. I want to add my part. As I work on switches without CISCO EEM support, I solved the addr.p2 issue without EEM scripts(reboot_async). My reboot_async.rtm file has a fork that calls reboot_async.exp(an expect script, for more info read Tcl expect). .exp script connects to nut(you can serial on it) and sends commands. In my reboot_async.rtm I fork the .exp script. Problem is that TAHI waits for it till child will complete. Go to V6evalTool.pm (located in /usr/local/lib/perl/site_*/5.14.*/), find function vRemote() and comment variables pipe CIN and COUT with all openings and closings. Add a delay(5 sec are enough) and voala. It’s running on separate thread and TAHI doesn’t wait for it to complete. It waits his test case response.

    Thanks
    Fascian Artiom.

    1. Thanks Fascian for sharing this very helpful trick.

  11. […] This is a continuation of my previous post “IPv6 logo certification using Tahi Self test tool“ […]

  12. Great Post. Thanks. It helped me a lot.

    I am trying to test a router based on Fedora 13 and few test cases are getting failed. I have doubt on the physical wiring.

    I have one machine with FreeBSD acting as a TN and a Fedora 13 router system acting as a NUT. I have connected eth0 of both machines with a cross cable and eth1 of both machines with another cross cable.

    Is this wiring correct?

    I am executing “make ipv6ready_p2_router” command (with manual option for remote commands) for test, is the above mentioned wiring sufficient to PASS all tests under ipv6ready_p2_router?

    PS: It was very hard for me to setup NULL modem RS232C connection for remote commands so I was doing it manually. Now I know how to use mgmt. and I will try this. Thanks to you.

    Waiting for your reply.

    1. Hi Prashant,
      Your topology seems to be correct. Make sure you have enabled ipv6 forwarding on the Fedora which is the NUT.

  13. Hi Jerin,
    In interoperability test, I am using Fedora 13 as TAR. Now not able to create the BPF device on it. How i can create the BPF device? Kindly suggest a solution.

    Other query is, in interoperability test setup, I need to change the config.txt file which is having MAC IDs. Do I need to set actual MAC ID of Ethernet? or dummy MAC ID will work?

    Thanks,
    Prashant

    1. Hi Prashant,
      Sorry for the delayed reply.Regarding our queries
      BPPF device on tar: I dont think that velclient installation requires BPF device to be created. Could you check the readme file. I dont have a setup to verify it now.

      For the config.txt, I think dummy ID should be fine.

  14. Very great post. I simply stumbled upon your blog and wanted to mention that I have truly
    loved surfing around your blog posts. After all I will
    be subscribing for your rss feed and I’m hoping you write again very
    soon!

  15. Thanks for your marvelous posting! I genuinely enjoyed reading it, you
    might be a great author. I will make certain to bookmark your blog and definitely
    will come back later on. I want to encourage you continue your great work, have a nice weekend!

  16. Thanks for the post its great!

  17. I will bookmark this page for you

  18. Its great to see tips that work!

  19. If some one desires to be updated with newest technologies therefore he
    must be pay a visit this site and be up to date everyday.

  20. I for all time emailed this blog post page to
    all my contacts, because if like to read it afterward my friends will too.

  21. Excellent way of telling, and good piece of writing to obtain
    information on the topic of my presentation focus, which i am going to convey
    in institution of higher education.

  22. Hi Jerin,
    I am trying to test UTM device as router. I have run self test tool and got some results PASS but most of the test results show FAIL for RFC 4861. reason displayed “Observed unexpected packet” and “Could’t observe NS” . I could not understand exact reason. please reply me.
    If you could send me the documentation, it would be of great help.

    1. Hi Anil,
      You have to check the log file and see what kind of packet your device is sending. Also take a look at the capture file in the tahi logs and see whether your device is actually sending the NS. mostly the case is that, your device may be sending some other packets along with the IPv6 NS apcket and Tahi receives the other packets first which is causing it to fail. Disable any other protocols if running on the device (like STP, lldp etc) and try again. I am not ware of what a UTM device is, is it a router or a special device?

  23. Hi Jerin,
    I could not configured IPv6 Stateless Address in interface in our UTM device so should I execute Section 3: RFC 4862 (IPv6 Stateless Address Autoconfiguration) test cases for IPv6 Ready Logo. Please reply me.

    1. Hi Anil,
      If you want to go for certification, then you need to run all the cases which are specified ip ipv6ready site.

  24. Thanks for anny other great article. The place else may juszt anybody get that kund of info inn such a perfect method of writing?
    I have a presentation next week, and I’m at the look for succh information.

  25. Hi Jerin,
    I have downloaded the latest v6eval tool which is 3.3.3 and have Free BSD 8.3 installed. I only wish to run the IPv6Core tests. Do you know if I need to create the patch-utmpx file you mention in your instructions. Do you know of any issues with 8.3? I believe I only need to install the Self_test_5-0-0. tool as this includes the IPv6Core tests??

    Thanks

    1. I am not sure about Free BSD 8.3, you have to try installing there and if you hit the error then only you need to patch it, else no need.
      This blog is all about logo certification using selftest tool and hence you have to install all the necessary things which are mentioned in it to get it working. Once done then you have the option to run required cases based on your requirement. Please go through the blog completely to get a better understanding.

  26. Jerin,
    Thanks for you quick reply… Ok so have installed as per instructions on FreeBSD 8.3. I skipped point 12 and 13 in the installation instructions. As I don’t require serial port or remote access.
    I have made sure I have added the following in devfs rules:

    [devfsrules_unhide_bpf=1025]
    add path ‘bpf*’ user root group wheel mode 0660 unhide

    My user name is part of the wheel group in /etc/group

    I have untarred Self_Test_5-0-0 to a directory….

    However when I run “make ipv6ready_p2_host”…. I get :

    /usr/v6eval/bin/autorun Permission denied Error Code 126….

    I have checked permissions on the file/directory and my /etc/group….

    Would you have any ideas??

    Thanks

    1. Hi,
      Could you please try to run the test from the same user id using which you installed the v6eval.

      I was always using root user and never ran into such a issue.

  27. Hi there to all, how is all, I think every one
    is getting more from this web page, and your views are nice in favor of
    new users.

  28. Hi Jerin…..

    All up and running now! …. the user and group were different many thanks……the only issue remaining is when running the IPv6 core tests i.e. icmp_p2 I am prompted to:

    DO ‘’ping6 Data Size = A, Send Count = B, Size = C, Destination=D’’ …??

    Do you know what the test is expecting me to do in this instance?

    Do I launch another xterm window and issue a ping command? What is the syntax for this??

    Thanks very much….

    1. Hi MD,
      As far as I remember, the selftest tool used to say the values you need to put. Though im not sure, as I did it some eyars back and I dont have a setup to verify it. Coudl you please tell me the exact test case number and the console log output.

      Also please refer the technical document of ipv6ready site which explains in detail what a test case is doing. You can get it from https://www.ipv6ready.org/docs/Core_Conformance_Latest.pdf

  29. Hello all, here every one is sharing these know-how, thus it’s nice to read this webpage, and I used to pay a quick visit this weblog
    everyday.

  30. It’s an remarkable article for all the internet users; they will obtain advantage from
    it I am sure.

  31. After three days of rebuffing flood waters a
    neighbor came by in a canoe to ask our hero if he needed help
    addressing dry land. This scenario makes it virtually
    impossible to utilize the court system to prevent them
    individually. It can be used to share unlimited variety of files, whether they’re music, videos, images,
    or files from a other type.

  32. Hi there to every one, the contents existing at this web site are truly remarkable for
    people experience, well, keep up the good work fellows.

  33. Neat blog! Is your theme custom made or did you download it from somewhere?
    A design like yours with a few simple adjustements would really make my blog stand out.
    Please let me know where you got your theme. Thank you

  34. Hi, can i run the TN on any linux machine instead of BSD

  35. arjun :
    Hi, can i run the TN on any Redhat linux machine instead of FreeBSD/i386 or higher OS machines? can any one please help me

    1. Hi Arjun,
      I dont see any reason why it cant be run on redhat linux, but official claim is that it works on free BSD. I would say if you have enough time try bringing up on redhat, if not go with free bsd which is the tried and tested one.

  36. Greetings! Very helpful advice in this particular article!
    It’s the little changes that will make the most important changes.
    Many thanks for sharing!

  37. Its like you read my mind! You seem to know a lot
    about this, like you wrote the book in it or something.

    I think that you could do with a few pics to drive the message
    home a little bit, but other than that, this is magnificent blog.
    A great read. I will certainly be back.

  38. Hi Jerinjosepl,

    can you please forward me the guide for set-up and running test suit.
    We are getting error of “can not receive echo reply” for every testcase.

    1. Hi Shanki,
      I didnt get your question. This post itself is a guide on how to setup and run the tool. What more are you looking for. Regarding the error which you got, check whether the connectivity between your Device under test and TAHI server and make sure your DUT/UUT is sending the echo reply packet.

  39. TAHI testcase send ECHO requests and expects echo reply . But our NUT replies back with Neighbour Solicitation. which we can see using tcpdump.
    Tahi is ignoring NS and printing log as unexpected packet. So could you suggest what is the isuue in set-up?

    1. Hi Shanki,
      Are you able to see those packets in the TAHI pcap files. Also what is the testcase for which you are getting this error. Also u need to go through the TAHI logs for that testcase and the TAHI testcase description to see whats wrong. For eg, the NS packet which is send by your DUT may not be correct (may be some field values are not what TAHI is expecting)
      Go through the Testcase description to get a better understanding of what that testcase is doing.

  40. we are using FREEBSD 9.2 , v6eval-3-3-3 and SelfTest-5.0
    using single Ethernet connection.

    Target(NUT) FREEBSD 9.2(TN)

    command line=make ipv6ready_p1_host

    Getting error as follow:-
    ./IP_PL_Odd.seq -pkt ./IP_PL_Odd.def -log 5.html -ti “Part A: Payload Length
    Odd”
    Start Capturing Packets (Link0)
    Send Echo Request (Payload Length Odd)
    Cannot receive Echo Reply
    NG
    — Cleanup NUT
    Send Neighbor Advertisement (Link-Local Address with Different Link-layer Addres
    s)
    Send Echo Request
    Wait for transit target Neighbor Cache Entry to INCOMPLETE/NONCE (10 sec.)
    Stop Capturing Packets (Link0)
    -> FAIL

    Please tell me the solution

    1. As I mentioned earlier.
      1. Check the pcap file which is generated by the result for Link0 and see whether the pcap has the packets.
      2. Check the testcase description/or the test specification pdf for that particular testcase.
      Thats the way to troubleshoot.

      1. how to check the pcap file ? where does the file gets located?

  41. growtopia cheats

    Ipv6 Logo Certification Using TAHI Self Test tool | Weblog of Jerin Joseph

  42. It’s amazing to pay a quick visit this website and reading the views of all friends about this article, while I am also eager
    of getting experience.

  43. Thanks for your personal marvelous posting! I definitely enjoyed reading
    it, you will be a great author.I will be sure to bookmark your blog and will often come
    back sometime soon. I want to encourage one to continue your great job, have a
    nice evening!

  44. netgear dgn2200 review australia Avatar
    netgear dgn2200 review australia

    Howdy! Do you know if they make any plugins to safeguard against hackers?

    I’m kinda paranoid about losing everything I’ve worked
    hard on. Any recommendations?

  45. I love your blog.. very nice colors & theme. Did you design this
    website yourself or did you hire someone to do it for you?
    Plz respond as I’m looking to design my own blog
    and would like to know where u got this from. thanks

  46. dgn2200 port forwarding firmware Avatar
    dgn2200 port forwarding firmware

    Hurrah, that’s what I was searching for, what a information! existing here at this web site,
    thanks admin of this site.

  47. An intriguing discussion is worth comment. I think that you need to publish more on this subject, it may not be a taboo
    subject but typically people do not discuss these issues.

    To the next! Cheers!!

  48. The point when the tyke is occupied with different exercises or playing, he
    may not prefer to head off to the can. Clap for
    them and also point out their accomplishment to other family members.
    First, make sure your child is ready for potty training, shows interest,
    wants “big kids pants” etc.

  49. I do not leave a response, but after reading a few of the responses on Ipv6 Logo
    Certification Using TAHI Self Test tool | Weblog of Jerin Joseph.
    I actually do have some questions for you if it’s okay.
    Is it simply me or does it appear like some of these comments look like
    they are coming from brain dead folks? 😛 And, if you are posting on other social sites, I would like to keep up with everything new you have to post.
    Would you make a list of the complete urls of your public sites like your
    linkedin profile, Facebook page or twitter feed?

  50. Hiya very nice website!! Guy .. Excellent .. Wonderful ..
    I will bookmark your site and take the feeds also? I’m satisfied to seek out numerous useful info right here within the put up, we need develop more strategies in this
    regard, thank you for sharing. . . . . .

  51. If some one wishes to be updated with most recent technologies then he must be pay a quick visit
    this web site and be up to date every day.

  52. Aw, this was an extremely nice post. Taking the time and actual effort to
    produce a really good article… but what can I say… I put things off a lot and don’t seem to get nearly anything done.

  53. Definitely believe that which you stated. Your favorite justification seemed to be on the web the simplest thing to be aware of.
    I say to you, I certainly get irked while people consider worries that they plainly
    don’t know about. You managed to hit the nail upon the
    top as well as defined out the whole thing without having side effect ,
    people can take a signal. Will probably be back to get more.
    Thanks

  54. May I just say what a comfort to find somebody
    that really knows what they’re discussing on the net. You definitely realize how to bring a problem to light and make
    it important. More and more people really need to read this and understand this side of the story.
    I was surprised that you aren’t more popular given that you certainly have the gift.

  55. urodajakdbac.wordpress.com Avatar
    urodajakdbac.wordpress.com

    Wonderful, what a webpage it is! This web site gives helpful information to us, keep it up.

  56. http://mlodosc.wordpress.com Avatar
    http://mlodosc.wordpress.com

    Great post! We are linking to this great
    article on our website. Keep up the good writing.

  57. It’s enormous that you are getting thoughts from this post as well as from our discussion made at this place.

  58. Have you ever thought about writing an ebook or guest authoeing on other sites?

    I ave a blog based on the same subjects you discuss and wojld really lie to havve
    you share some stories/information. I know mmy reades would
    value your work. If you are even remotely interested, feel free to send me an email.

  59. It is possible to transform your loan dramatically through benefit of obtainable discounts.

    Get the latest casino related news delivered straight to your inbox.
    Bonuses and rewards programs are the norm these days at
    online casinos.

  60. These are fitted on the inlet of most types of compressor and the valve opens and closes
    to throttle the air flow. The best way to detect a leak is to use an ultrasonic acoustic detector to recognise the high frequency hiss of escaping air.
    Michael Kolberg is an Airsoft enthusiast and
    passionate about the world or Airsoft. The old hypothesis
    that it could harness heat from ambient air has been disproved by the latest changes in the design. As
    the air is compressed in volume it releases a large amount of moisture.

    Simulations prove the theory but they are still waiting on manufacturers to accept it.
    Apart from their use in medical facilities, these portable dental units
    can also be used effectively in various other locations which are
    far removed from proper health care facilities. The real difference is derived from what is in the inside,
    or the type of power that propels the arms to actually shoot.

  61. hi i observed NG while executing TAHI test cases .. reason of that problem

  62. hi i need help to reslove the problem observed while executing TAHI pmtu.p2 test cases
    even after adding route in Router not able to execute single test case passed

  63. Hi Jerin,

    Currently I try to run the SelfTest tool.
    All tests finished successfully expect of three testcases in the nd.p2 as per the following with logs.
    ==> Tese case 146.
    Test Procedure
    Send Echo Request: TN1 (global) -> TN2 (global)
    Recv NS w/ SLL: NUT (link-local) -> TN2 (global) solicited-node multicast address
    Send NA (rSO) w/ TLL: TN2 (global) -> NUT (link-local)
    Could’t observe Redirect
    FAIL

    ==> Test case 147
    Test Procedure
    Send Echo Request: TN1 (global) -> TN2 (global)
    Could’t observe NS
    FAIL

    ==> Tese case 150
    Test Procedure
    Send Echo Request via TR1: TN1 (off-link global) -> RUT (global)
    Could’t observe Echo Reply
    FAIL

    Do you know what is the issue?
    Please help me to resolve this.

    Thanks.

  64. high end retouching Avatar
    high end retouching

    magnificent put up, very informative. I’m wondering why the other
    specialists of this sector don’t notice this.
    You must continue your writing. I am confident, you have a huge readers’ base already!

  65. Hello we are getting can not fine V6evalCommon.pm line 48 error. Please help to resolve

  66. After patch patch-utmpx geting error as

    the lib/Cm/CmMain.cc file not found

    please help

  67. Locate a roofing contractor that’s great conversation skills.
    They can gauge your roofing needs well and can suggest the metal material that befits your purpose aptly.
    You must always remember that it’s heady to select a genuine contractor
    with experienced roofing London contractors.

  68. Hi,I have installed tahi suite and running test cases, for every test case i need to press enter to continue,so can we do it automatically

  69. Now I am doing the CE-TEST work,I‘m very appreciate your documents.Than your sharing.

  70. Right now it appears like Expression Engine is the top blogging platfoorm out there right now.
    (from what I’ve read) Is that what you’re using
    on your blog?

  71. root@freebsd:~/tahi/v6eval/Self_Test_5-0-5 # make ipv6ready_p2_router AROPT=”-s 2 -e 2″
    ===> spec.p2
    /usr/local/v6eval/bin/autorun -G -title=’Section 1: RFC 8200 – IPv6 Specification’ INDEX_p2_router
    Error : Already exist index.html.
    please run after delete index.html or run with -f option.
    /usr/bin/perl -e ‘use Pod::Html; pod2html(“–noindex”, @ARGV);’ SPEC.pm > SPEC.html
    rm -f pod2html-dircache pod2html-itemcache
    /bin/rm -f index.html summary.html report.html
    /usr/local/v6eval/bin/autorun -s 2 -e 2 -F -tiny -title=’Section 1: RFC 8200 – IPv6 Specification’ INDEX_p2_router
    ========== TEST 2 ==========
    ./IP_Version.seq -pkt ./IP_Version.def -log 2.html -ti “Version Field”
    Start Capturing Packets (Link0)
    Send Echo Request (Version field is 4)
    Clear Captured Packets (Link0)
    Send Echo Request (Valid)
    Cannot receive Echo Reply
    NG
    — Cleanup RUT
    Clear Captured Packets (Link0)
    Send Neighbor Advertisement (Link-Local Address with Different Link-layer Address) to Link0
    Send Echo Request to Link0

    How to debug this issue

  72. Hello Jerin,
    I could execute the .rmt files directly but when i try to execute the conformance test cases it is not working(i mean the test cases which require to configure things on uut are getting stuck).
    Is there anything i need to do under .p2 files to run .rmt files ?

Leave a reply to small business website Cancel reply