[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4BB48D1C.80205@iki.fi>
Date: Thu, 01 Apr 2010 15:10:04 +0300
From: Timo Teräs <timo.teras@....fi>
To: hadi@...erus.ca
CC: Herbert Xu <herbert@...dor.apana.org.au>,
"David S. Miller" <davem@...emloft.net>,
Patrick McHardy <kaber@...sh.net>, netdev@...r.kernel.org
Subject: Re: [RFC] SPD basic actions per netdev
jamal wrote:
> On Thu, 2010-04-01 at 14:47 +0300, Timo Teräs wrote:
>
>> The thing is that currently FWD 'dev blah' matches the interface
>> to which the packet is being forwarded to. Someone might be using
>> this feature already.
>
> So this is the part i am missing i think. If i look at:
>
> int ip_forward(struct sk_buff *skb)
> {
> .....
> if (!xfrm4_policy_check(NULL, XFRM_POLICY_FWD, skb))
> goto drop;
> ....
> ........later forwarding happens here ...
> if (!xfrm4_route_forward(skb))
> goto drop;
> ...
> }
>
> On entry we have a legit skb->skb_iif.
> The validity check is before forwarding decision (where the interface
> the packet is being forwarded to is recognized).
On entry to ip_forward the routing decision has already been made.
Both oif and iif are valid on entry.
Currently policy_check() uses oif for SPD matching.
Do note that xfrm4_route_forward() is a no-op if there's no matching
policy. It has nothing to do with routing decision, it's purpose
is to wrap the dst_entry with xfrm_dst if the flow matches a valid
SPD.
>> Your patch changes semantics on how FWD policies are matched.
>
> I agree if what you say earlier is true.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists