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