Feb 2, 2011

IPv6 Ready Logo 筆記

1/31, 2/1 算是正式在目前公司工作的最後二天,之前一直沒有機會,或許因該說,一直偷懶(哈哈..)沒試著測看看 Ready Logo Testing 在自家的機器上,利用最後的時間,測了一下,雖然沒能完全跑完所有的 auto test ,主要是太多東西要慢慢 tune 了,比如字串比對之類的,比較好奇,測試者需要自行更改 v6eval的perl module?? 本身不懂 perl 所以還花了一點時間試著去了解一些語法 XD,以下是這二天來的筆記。

Software : 
FreeBSD 7.3-RELEASE FreeBSD 7.3-RELEASE
v6eval-3.3.1 : IPv6 Conformance Test Package
Self_Test_5-0-0 : Self-Test Tools for IPv6 Ready Logo Program

v6eval 安裝與設定 : 

新版的 v6eval-3.3.1 已把 v6eval-remotes 整合進來,安裝 v6eval 前需要先安裝 perl5 相關 module
  • Expect : /usr/ports/lang/p5-Expect
  • IO-Tty : /usr/ports/devel/p5-IO-Tty
  • Digest-MD5 : /usr/ports/security/p5-Digest-MD5
  • YAML : /usr/ports/textproc/p5-YAML
1. 安裝:
make
sudo make install

2. 環境相關設定:
Configure and test serial line:
sudo touch /var/log/aculog
sudo chown uucp:dialer /var/log/aculog
sudo chmod 660 /var/log/aculog
sudo cu -l /dev/cuad0 # test connection. type "~." to exit
Interface configuration:
# sudo vim /etc/rc.conf
  ipv6_enable="NO"
  ifconfig_em1="up"

Self_Test_5-0-0 安裝與設定 : 
Terminology:
Tester Node (TN) : A tester node for the conformance tests.
Node Under Test (NUT) : A testee node for the conformance tests.
Network Under Test : The network where the conformance tests are executed.
Tester Interface : The network interface of TN hooked up to the Network Under Test.
Interface Under Test : The network interface of NUT hooked up to the Network Under Test.
1. 安裝:
只需解壓縮就好

2. 測試之前的準備:
  • 開始測試之前,需要依照你的測試架構做 tn and unt 的 defined,define 檔於 /usr/local/v6eval/etc/
  • 不確定是否是因為不了解它的測試架構,如要自動測試,使用者需自行修改測試 perl module /usr/local/lib/perl5/site_perl/5.10.1/V6evalRemote.pm 才能正常使用,或許因該有更好的方法才對 ??
  • 測試設定檔裡面的字串,"空白、跟Tab",Script 對字串的除理沒有做的很好
  • 自動測試的 rmt 檔需要放在 /usr/local/v6eval/bin/{Type}/ 下
  • 利用rmt檔來測試是否能成功自動登入與登出
    sudo /usr/local/v6eval/bin/{product name}/loginout.rmt -o1
    sudo /usr/local/v6eval/bin/{product name}/reboot.rmt -o1

3. 實際測試環境:

1) NUT is a host or special
TN                               NUT
 | Tester I/f: em0         | I/f Under Test: 0/41
 |                                       |
-+-----------------------+- Link0
     Network Under Test

4. 開始測試:
sudo make ipv6ready_p1_host; (Phase I)
sudo make ipv6ready_p2_host; (Phase II)

相關設定檔

$ cat /etc/rc.conf
# -- sysinstall generated deltas -- # Fri Jan 14 08:47:38 2011                                    
# Created: Fri Jan 14 08:47:38 2011                                                                
# Enable network daemons for user convenience.                                                    
# Please make all changes to this file, not to /etc/defaults/rc.conf.                              
# This file now contains just the overrides from /etc/defaults/rc.conf.                            
inetd_enable="YES"                                                                                
linux_enable="YES"                                                                                
sshd_enable="YES"                                                                                  
ipv6_enable="NO"                                                                                  
ifconfig_em1="up"                                                                                  
ifconfig_em2="up"
$ cat /usr/local/v6eval/etc/tn.def
#
# tn.def
#
#  Information about the Tester Node (TN)
#

#
# Remote Controal Configuration
#
RemoteDevice    cuad0
RemoteDebug     0
RemoteIntDebug  0
RemoteLog       1
RemoteSpeed     0
RemoteLogout    0
RemoteMethod    serial
#filter ipv6

#linkname       interface       BOGUS ether source address
#               name            of the Tester Interface
Link0           em1             00:00:00:00:01:00
#Link1          de1             00:00:00:00:01:01
$ cat /usr/local/v6eval/etc/nut.def
#
# nut.def
#
#  Information about the Node Under Test (NUT)
#

# System type
System          {Product Name}

# System information
TargetName      FreeBSD/i386 4.9-RELEASE + kame-20040726-freebsd49-snap

# Name
HostName        {another name}

# Type
#   host, router, special
Type            host

# Super user name and it's password
# if you select manual as "System", you don't care "User" and "Password"
#
User            admin
Password        admin

#linkname       interface       The EXACT ether source address
#               name            of the Interface Under Test
Link0           0/41            00:C0:9F:00:28:93

/usr/local/lib/perl5/site_perl/5.10.1/V6evalRemote.pm 改過的地方
$debug=1;
$Type="{System Type}";
$Device="cuad0";
$User="admin";
$Password="admin";

# login prompt
'{System Type}',     'User:',
# password prompt
'{System Type}',     'Password:',
# command prompt
'{System Type}',     '#',
# command of the admin mode if any
'{System Type}',     'enable',
# logout command
'{System Type}',     'exit',
# reboot command
'{System Type}',     'r',
# final confirmation for reboot if any
'{System Type}',     'would like to reset the system',
# reply of the final confirmation for reboot
'{System Type}',     'y',
# pre-final confirmation for reboot if any
'{System Type}',     'Would you like to save them now',
# reply of the pre-final confirmation for reboot
'{System Type}',     'n',