Re: [RFC] Breaking forwarding loops

From: Henrik Nordström <henrik_at_henriknordstrom.net>
Date: Tue, 11 Jan 2011 09:16:55 +0100

mån 2011-01-10 klockan 16:19 -0700 skrev Alex Rousskov:

> I seem to recall reports that "the proxy was still working fine despite
> the lookup errors" so we should be careful not to disable useful
> functionality. There is probably more than one way to lookup the
> destination, and as long as one way is working, we should probably keep
> going.

That's mainly when people use external NAT to redirect traffic to the
proxy.

> Do you think we should break all loops because it is difficult to be
> sure which ones are going to be "fixed" by going direct? The alternative
> is to try harder when identifying the situations where a loop can and
> should be broken.

We aways try to break loops when detected. And loops are always detected
unless Via is disabled.

There is two ways of breaking a loop

a) Go direct.

b) Return an error.

If we always return an error then we need to be careful to absorb the
error as well, which is quite fragile code paths today due to our
forwarding logics being quite messy.

But yes, we should be better at this. A proposal is to always return an
error if Via indicates that we have already processed this request twice
(on third time the same request is received). This will break actual
loops, while keeping sibling loops silent.

Regards
Henrik
Received on Tue Jan 11 2011 - 08:17:00 MST

This archive was generated by hypermail 2.2.0 : Tue Jan 11 2011 - 12:00:06 MST