Hello,

Thanks!

This make things clear a bit.

What I understand from thee code (__dst_free() in dst.c) is that if we
are freeing a
dst_entry  (by calling __dst_free() ), than in case this dst_entry was
created as an IPsec dst_entry it has the DST_NOHASH flag set and this
dst_entry is the first in the list; all dst_entries in this
list represent IPsec transformations, except the last dst_entry in
this list; and in such a case, dst_free traverses the list
until the last dst_entry. And if this dst_entry is NOT created as an IPsec
dst_entry, than we freeing it and only it. But I am sorry, I still don't
understand the semantics; why is the name DST_NOHASH?;
NOHASH hints that we do not keep the
an entry in a hash. I doubt that such dst_entries , which are created with
IPsec and so has the DST_NOHASH flag set, are not kept in the routing cache?

Ian

On Nov 26, 2007 4:51 AM, Herbert Xu <[EMAIL PROTECTED]> wrote:
> Ian Brown <[EMAIL PROTECTED]> wrote:
> >
> > 3) in net/core/dst.c:
> > struct dst_entry *dst_destroy(struct dst_entry * dst)
> >        {
> >        ...
> >        ...
> >  int nohash = dst->flags & DST_NOHASH;
> >        ...
> >        ...
> > }
>
> You were so close :)
>
> This is where it's used.  Look harder.
>
> Cheers,
> --
> Visit Openswan at http://www.openswan.org/
> Email: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]>
> Home Page: http://gondor.apana.org.au/~herbert/
> PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
>
-
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

Reply via email to