hi!
i am working on IXP2850 IPv6 stack
when i run tahi test cases for routing header robostness test the test case
1. Duplicate address in Routing Header
2. Address Loop in Routing Header
fails
if we saw the algo. in RFC 2460 there is no such check for duplicate address
and address loop
if some one know the reason please let me know
is it ok if i put this validation checks in algo.(which is mentioned in RFC
2460)?
regards.
santoshb
----- Original Message -----
From: "Olivier MATZ" <olivier.matz@6wind.com>
To: "Yukiyo Akisada" <Yukiyo.Akisada@jp.yokogawa.com>
Cc: <users@tahi.org>
Sent: Thursday, November 09, 2006 2:35 PM
Subject: [users:00263] Re: Computed checksum is wrong
> Hi Yukiyo Akisada,
>
> Thank you for your answer.
>
> > Inverse of checksum should be applied only to UDP packet.
> > Your log is the checksum of ICMPv6, right?
>
> Right, it is an ICMPv6 packet.
>
> > ICMPv6's checksum isn't optional.
> > So it doesn't need to inverse checksum.
> >
> > The purpose of inverse is to distinguish the checksum was calculated or
not by the sender.
>
> I'm not sure I've correctly understoud your explainations. His is a
> summary of my situation : my nut generates an ICMPv6 packet that
> contains a 0xFFFF checksum, which is correct according to the RFC below.
>
> TAHI tells the test is FAIL because it processes the checksum field by
> itself to 0x0000, which seems incorrect according to the RFC below.
>
> >> o Unlike IPv4, when UDP packets are originated by an IPv6 node,
> >> the UDP checksum is not optional. That is, whenever
> >> originating a UDP packet, an IPv6 node must compute a UDP
> >> checksum over the packet and the pseudo-header, and, if that
> >> computation yields a result of zero, it must be changed to hex
> >> FFFF for placement in the UDP header. IPv6 receivers must
> >> discard UDP packets containing a zero checksum, and should log
> >> the error.
>
> With the patch, I can't see the problem anymore. But what I'm not sure
> in my patch is : is it the good way to do it ?
>
> In my opinion, the variable 'optionable' is true when the checksum can
> be an option. So, I replaced the test :
>
> "if checksum is 0 and can be an option => set it to 0xFFFF"
> by :
> "if checksum is 0 and _cannot_ be an option => set it to 0xFFFF"
>
> Thanks,
> Olivier
>
>
>