Subject: Re: [tproxy,regression] tproxy broken in 2.6.32

From: jamal <[email-masked]>
Date: Sat, 28 Nov 2009 17:20:15 -0500

On Sat, 2009-11-28 at 13:21 -0800, David Miller wrote:

> What matters is that this worked for years and we broke it.

But Tproxy just went in.

> There is no other valid discussion about this.

Surely we can have a valid technical discussion, no? 
I would like to hear from Krisztian his reasoning for using LOCAL
routes. There may be good reasons.

> The only thing to "pick" right now is whether we revert the
> thing completely or add a sysctl and default it to off.
>
> I prefer the former because nobody is going to turn the thing
> on, especially not distributions, and that's %99.9999 of users.

There is nothing to sysctl control. 
IMO, what is at stake here is the check:

-----
        if (res.type != RTN_UNICAST)
                goto e_inval_res;
----

There are several ways to resolve that:
a) either we say RTN_LOCAL is also legit if some
skb->transparent is set. IMO it is not worth it.
b) have the routing table (as programmed by the user) return 
RTN_UNICAST
c)do the approach Krisztian talked about - which is also
user space controlled.

cheers,
jamal