On 10/17/06 14:35, Thomas Graf wrote:
Hi Thomas,
> Because otherwise a rule containing only a source prefix match is
> equivalent to a catch-all rule for all lookups not providing a
> source address. An example: Someone adding the rule
>
> ip rule add from 2001::1/128 unreachable
>
> resu
In article <[EMAIL PROTECTED]> (at Tue, 17 Oct 2006 14:34:15 +0200), Thomas
Graf <[EMAIL PROTECTED]> says:
> Right, that works as well but duplicating the rule for every
> interface is not very practical.
Though I think it is, but we could have "non-local" flag or such.
> Anyways, the point is
* YOSHIFUJI Hideaki / ?$B5HF#1QL@ <[EMAIL PROTECTED]> 2006-10-17 21:17
> In article <[EMAIL PROTECTED]> (at Tue, 17 Oct 2006 13:35:11 +0200), Thomas
> Graf <[EMAIL PROTECTED]> says:
>
> :
> > different logic. In order to solve this, rules must be restricted to
> > one of these paths, i.e. a rule
In article <[EMAIL PROTECTED]> (at Tue, 17 Oct 2006 13:35:11 +0200), Thomas
Graf <[EMAIL PROTECTED]> says:
:
> different logic. In order to solve this, rules must be restricted to
> one of these paths, i.e. a rule intending to make certain prefixes
> unreachable may not apply to the source select
* YOSHIFUJI Hideaki / ?$B5HF#1QL@ <[EMAIL PROTECTED]> 2006-10-17 20:00
> In article <[EMAIL PROTECTED]> (at Tue, 17 Oct 2006 12:14:02 +0200), Thomas
> Graf <[EMAIL PROTECTED]> says:
>
> > * Ville Nuorvala <[EMAIL PROTECTED]> 2006-10-17 03:27
> > > @@ -123,7 +111,7 @@ static int fib6_rule_match(st
In article <[EMAIL PROTECTED]> (at Tue, 17 Oct 2006 12:14:02 +0200), Thomas
Graf <[EMAIL PROTECTED]> says:
> * Ville Nuorvala <[EMAIL PROTECTED]> 2006-10-17 03:27
> > @@ -123,7 +111,7 @@ static int fib6_rule_match(struct fib_ru
> > return 0;
> >
> > if (r->src.plen) {
> > -
* Ville Nuorvala <[EMAIL PROTECTED]> 2006-10-17 03:27
> @@ -123,7 +111,7 @@ static int fib6_rule_match(struct fib_ru
> return 0;
>
> if (r->src.plen) {
> - if (!(flags & RT6_LOOKUP_F_HAS_SADDR) ||
> + if (flags & RT6_LOOKUP_F_HAS_SADDR &&
>
With IPv6 routing subtrees we need to take into account that the
source address is typically not specified at the time of the route
lookup.
There are two separate cases where this can happen. In the typical
case the source address hasn't been selected before the route lookup.
Skipping a source pr