On Mon, 2008-02-25 at 11:16 -0800, Luis Carlos Cobo wrote: > On Fri, 2008-02-22 at 17:23 +0100, Johannes Berg wrote: > > I don't think I fully understand that. The mesh path points to a sta > > structure, so when that sta is removed, the corresponding mesh path must > > also be deleted. I think I need to look closer at where that is done to > > understand how it could be substituted. > > In sta_info_free() we call mesh_plink_deactivate(sta), which calls > mesh_path_flush_by_nexthop(). There is where you could substitute the > mesh path (copy it with next_hop pointing to NULL, substitute pointer, > rcu_synchronize()). However there is not much to gain. Since mesh paths > are freed if inactive sooner than mesh peer links are, this will > actually only happen when mesh peer links are either deleted from user > land or because a specific "peer link close" frame is received. Yup. I think I understand it now, but I had to add a "force" parameter there so that the path is actually completely removed when a STA info is destroyed. johannes
Attachment:
signature.asc
Description: This is a digitally signed message part