Thanks for pointing out these ommissions, your fixes are correct for the missing family settings. Here is the final patch I will use for 2.6.x Thanks again. # This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2004/03/24 14:18:54-08:00 floroiu@fokus.fraunhofer.de # [IPSEC]: Missing family settings in af_key and xfrm_user. # # net/xfrm/xfrm_user.c # 2004/03/24 14:18:34-08:00 floroiu@fokus.fraunhofer.de +1 -0 # [IPSEC]: Missing family settings in af_key and xfrm_user. # # net/key/af_key.c # 2004/03/24 14:18:34-08:00 floroiu@fokus.fraunhofer.de +1 -0 # [IPSEC]: Missing family settings in af_key and xfrm_user. # diff -Nru a/net/key/af_key.c b/net/key/af_key.c --- a/net/key/af_key.c Wed Mar 24 14:19:28 2004 +++ b/net/key/af_key.c Wed Mar 24 14:19:28 2004 @@ -1879,6 +1879,7 @@ err = -EINVAL; goto out; } + xp->selector.family = xp->family; xp->selector.prefixlen_s = sa->sadb_address_prefixlen; xp->selector.proto = pfkey_proto_to_xfrm(sa->sadb_address_proto); xp->selector.sport = ((struct sockaddr_in *)(sa+1))->sin_port; diff -Nru a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c --- a/net/xfrm/xfrm_user.c Wed Mar 24 14:19:28 2004 +++ b/net/xfrm/xfrm_user.c Wed Mar 24 14:19:28 2004 @@ -674,6 +674,7 @@ struct xfrm_tmpl *kp = &xp->xfrm_vec[i]; memcpy(&up->id, &kp->id, sizeof(up->id)); + up->family = xp->family; memcpy(&up->saddr, &kp->saddr, sizeof(up->saddr)); up->reqid = kp->reqid; up->mode = kp->mode; - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html