Hi,
> I have a question again.
> My test setup is composed of 3 nodes:
>
> B
> / |
> / |
> / |
> A |
> \ |
> x |
> \ |
> C
>
> I wished to test the local-repair feature of QoS-NSLP,
> which, as I understand, roughly does the following:
>
> 1. initially A sends to C (cmode, downstream)
> with direct route A-C
> 2. signaling is OK, I got response to the reserve
> from C (direct C-A route), etc., all is fine
> 3. I pull the C-A wire, faking a failure
Just to understand you correctly: You have GIST running on B, but
initially B is not on the path, right?
> 4. since my code at A does an "ip route show" every
> 500 ms, it detects the route change correctly
> (I use Quagga/ospfd)
So the complete network has a valid route state now? Is a ping from A to
C and back to A really working?
> 5. local-repair at A sends a refresh reserve
> immediately to C, but on the new route (A-B-C)
So your own QoS-NSLP (not ours, right?) sends a new QoS message
(RESERVE),
right? As GIST does not know about the route change, it still assumes
that C is the correct peer.
> ****
> 6. though C receives this new refresh reserve
> somehow, and I see some Dmode messages at B,
> my qos-nslp code running on B does not get
> any recvmessage calls...
> (also C sends a reply to A, but it does not
> arrive neither to B, nor to A...)
> ****
That is strange. You see (using ethereal, oder how?) that C sends the
response to A, but the message does not arrive at A? Doesn't it arrive
at the NSLP, or not at the machine at all?
I would expect, that C and A exchange message just like they did before
the route change, because GIST does not now about the route change yet.
Once GIST sends a refreshing GIST Query (if I remember correctly, the
GIST-Query is sent every 30 seconds), B should become the new next peer.
Maybe it helps to chat directly using skype? If you think so, please
tell me your skypename and I will contact you.
Christian Dickmann