Dear All,
I have fixed the previously reported bug: for IPv6 reservations the
routers on the path do not process the QoSNSLP messages:
The first part of required fix I have obtained from Fabio and Alexandre
form IT Aveiro:
nsis-0.5.1-dev/library/socket/UDPSocket.cpp – line 96:
Old Code: rao[3] = 0x00;
New code: rao[3] = 0x01;
nsis-0.5.1-dev/gist/sockets/GistRawSockets.cpp – line 293:
Old code: if (rao[0] == 0x05 && rao[1] == 0x02 && rao[2] == 0x00 &&
rao[3] == 0x00) {
New code: if (rao[0] == 0x05 && rao[1] == 0x02 && rao[2] == 0x00 &&
rao[3] == 0x01) {
This operation permits redefine the Router Alert Option used to send and
receive the GIST-Query message.
The second part: I have found a bug in isIPv6AddrInList() function which
always reports that the address is in list, so the first router becomes
always the QoSNSLP QNR and a message is not forwarded to a destination
node (like in case the Scope flag is set). Below you find the proposed
solution of the bug:
Patch to nsis-0.5.1-dev/library/IPaddr.cpp:
124c124
< bool isIPv6AddrInList(unsigned char * addr, IPaddr * addrList, int
addrCount, int prefix)
---
> bool isIPv6AddrInList(unsigned char * addr, IPaddr * addrList, int
addrCount, int prefix_org)
125a126
>
129a131
> int prefix = prefix_org;
Best regards,
Janusz