netdev
[Top] [All Lists]

Re: resend patch: xfrm policybyid

To: hadi@xxxxxxxxxx
Subject: Re: resend patch: xfrm policybyid
From: Patrick McHardy <kaber@xxxxxxxxx>
Date: Mon, 09 May 2005 13:45:20 +0200
Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>, "David S. Miller" <davem@xxxxxxxxxxxxx>, netdev <netdev@xxxxxxxxxxx>
In-reply-to: <1115573038.19561.174.camel@xxxxxxxxxxxxxxxxxxxxx>
References: <20050505213239.GA29526@xxxxxxxxxxxxxxxxxxx> <1115331436.8006.112.camel@xxxxxxxxxxxxxxxxxxxxx> <20050505231210.GA30574@xxxxxxxxxxxxxxxxxxx> <1115342122.7660.25.camel@xxxxxxxxxxxxxxxxxxxxx> <20050506013125.GA31780@xxxxxxxxxxxxxxxxxxx> <1115345403.7660.49.camel@xxxxxxxxxxxxxxxxxxxxx> <20050506085404.GA26719@xxxxxxxxxxxxxxxxxxx> <1115380381.7660.123.camel@xxxxxxxxxxxxxxxxxxxxx> <20050507105500.GA20283@xxxxxxxxxxxxxxxxxxx> <1115469496.19561.41.camel@xxxxxxxxxxxxxxxxxxxxx> <20050508080730.GA30512@xxxxxxxxxxxxxxxxxxx> <1115562643.19561.148.camel@xxxxxxxxxxxxxxxxxxxxx> <427E2F0D.4040902@xxxxxxxxx> <1115573038.19561.174.camel@xxxxxxxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.7) Gecko/20050420 Debian/1.7.7-2
jamal wrote:
> I can see where the %8 >= 3 comes from.
> [per socket creation with calls xfrm_gen_index(XFRM_POLICY_MAX+dir)
> and the kernel does things in increments of 8]
> 
> I didnt quiet understand that check in racoon: Why this guess work? if
> per-socket policies need to be identified, why dont they get explicitly
> marked as per-socket somehow? I am actually curious why that check is
> needed. Sorry have never stared at the racoon code. Do other IKE/ISAKMP
> daemons depend on it?

Not sure why they're not marked as per-socket. Probably because
sadb_x_policy_id is a KAME extension and KAME pf_key doesn't dump
these policies with SADB_X_SPDDUMP. Racoon needs to skip them
to avoid adding them to its internal SPD, they could conflict
with global policies.

>>So how could we handle this?
>>
> We can disallow the explicit setting of any index which passes test
> (index % 8 >= 3) - but it does seem to me the whole concept of reserving
> those indices for per-socket policies is a bit of a hack and may need a
> rethinking. Maybe we need to maintain a mark in the kernel for
> per-socket polices and do the same as BSD?

Disallowing this special case seems a bit inconsistent to me. We can
deduce which are per-socket from the list they are contained in. We
don't notify on per-socket policy change, perhaps we should also skip
them when dumping in pf_key.

Regards
Patrick


<Prev in Thread] Current Thread [Next in Thread>