On Thu, 5 Oct 2006, Venkat Yekkirala wrote:
> > > - if (xfrm_policy_match(pol, fl, type, family, dir)) {
> > > + err = xfrm_policy_match(pol, fl, type, family, dir);
> > > + if (err) {
> > > + if (err == -ESRCH)
> > > + continue;
> > > + else {
> > > + ret = ERR_PTR(err);
> > > + goto fail;
> > > + }
> > > + } else {
> >
> > Semantics issue: if the exact policy match fails with
> > -EACCESS, should we
> > then try an inexact match before failing?
>
> I wonder what you mean by an inexact match here.
There are two policy chains in the kernel: 'bydst'for non-prefixed
addresses (e.g. /32 or /128 nodes) and 'byidx' for prefixed addresses.
xfrm_policy_lookup_bytype() first checks for a non-prefixed match and then
for a prefixed match with a higher priority mark.
So, I wonder if it makes sense to continue on to the prefixed lookup if we
get an -EACCESS on the non-prefixed lookup.
Perhaps some further discussion on this with MLS folk is needed, but in
any case, I don't think it should block this patchset going in as a
bugfix, as the behavior can be changed in a further patch if required.
- James
--
James Morris
<[EMAIL PROTECTED]>
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html