Index: [Article Count Order] [Thread]

Date: Wed, 21 Jan 2009 16:27:21 +0800
From: Yang Ren <ryang@redhat.com>
Subject: [users:01070] StatusCode Option Problem
To: users@tahi.org
Cc: Lawrence Lim <llim@redhat.com>
Message-Id: <1232526441.11607.29.camel@excalibur>
X-Mail-Count: 01070

Hi ALL,

    I'm testing DHCP using DHCPv6_Self_Test_P2_1_0_15.
    I got a fail in rfc3315 running server test case.
    23 Status Code Option Format

    I can get it pass in DHCPv6_Self_Test_P2_1_0_13 with the same server
behavior. 

My Reply message is 
Frame_Ether                     (length:158)
| Hdr_Ether                       (length:14)
| | DestinationAddress               = 00:00:00:00:a2:a2
| | SourceAddress                    = 00:10:18:32:56:e2
| | Type                             = 34525
| Packet_IPv6                     (length:144)
| | Hdr_IPv6                        (length:40)
| | | Version                          = 6
| | | TrafficClass                     = 0
| | | FlowLabel                        = 0
| | | PayloadLength                    = 104
| | | NextHeader                       = 17
| | | HopLimit                         = 64
| | | SourceAddress                    = fe80::210:18ff:fe32:56e2
| | | DestinationAddress               = fe80::200:ff:fe00:a2a2
| | Upp_UDP                         (length:104)
| | | Hdr_UDP                         (length:8)
| | | | SourcePort                       = 547
| | | | DestinationPort                  = 546
| | | | Length                           = 104
| | | | Checksum                         = 17158 calc(17158)
| | | Udp_DHCPv6_Reply                (length:96)
| | | | Type                             = 7
| | | | Identifier                       = 101
| | | | Opt_DHCPv6_CID                  (length:18)
| | | | | Code                             = 1
| | | | | Length                           = 14
| | | | | DHCPv6_DUID_LLT_Ether           (length:14)
| | | | | | Type                             = 1
| | | | | | HardwareType                     = 1
| | | | | | Time                             = 300000
| | | | | | LinkLayerAddress                 = 00:00:00:00:a2:a2
| | | | Opt_DHCPv6_SID                  (length:18)
| | | | | Code                             = 2
| | | | | Length                           = 14
| | | | | DHCPv6_DUID_LLT_Ether           (length:14)
| | | | | | Type                             = 1
| | | | | | HardwareType                     = 1
| | | | | | Time                             = 300000
| | | | | | LinkLayerAddress                 = 02:00:00:00:03:00
| | | | Opt_DHCPv6_IA_NA                (length:56)
| | | | | Code                             = 3
| | | | | Length                           = 52
| | | | | Identifier                       = 101010
| | | | | Time1                            = 5000
| | | | | Time2                            = 16000
| | | | | Opt_DHCPv6_IA_Address           (length:34)
| | | | | | Code                             = 5
| | | | | | Length                           = 30
| | | | | | Address                          = 3ffe:503:ffff:100::abcd
| | | | | | PreferredLifetime                = 100
| | | | | | ValidLifetime                    = 200
| | | | | | Opt_DHCPv6_StatusCode           (length:6)
| | | | | | | Code                             = 13
| | | | | | | Length                           = 2
| | | | | | | StatusCode                       = 4
| | | | | | | Message                          = 
| | | | | Opt_DHCPv6_StatusCode           (length:6)
| | | | | | Code                             = 13
| | | | | | Length                           = 2
| | | | | | StatusCode                       = 4
| | | | | | Message                          = 
===dhcp6_reply=================================

It do has a StatusCode 4 NotOnLink

But Test suit always return a failed

Checking existing option...
Opt_DHCPv6_StatusCode not found
NG: NUT does not include Status Code option. 

I checked S_RFC3315_22.13_StatusCodeOP.seq
Saw these codes is new, and this code made test case failed.

dhcpExitError("<B>NUT does not include Status Code option.</B>")
	if options_exist(\%rep4,$CMP_STATUS_CODE);

I checked changelog. I find a change.
2008/11/14
	Bug fix for Server
		Correct status code value check.
		Some tests always expected to be returned status code Success(0) from
		Server after message exchange. However the Status Code option does not
		appear in a message in which the option could appear, the status of the
		message is assumed to be Success(0). (See also RFC3315 section 22.13)
		Therefore, now test accept without Status Code option with value Success.

Does it effect the result? Is this a bug in test suit.
Can anyone explain me why this test case failed? And how to change the
server behavior if it's a server error or configure problem?

Thank you very much.

-- 
Yang Ren