diff -rNu linux-2.4.9-ac10/include/net/sock.h linux/include/net/sock.h --- linux-2.4.9-ac10/include/net/sock.h Sat Sep 8 16:35:03 2001 +++ linux/include/net/sock.h Sat Sep 22 09:49:09 2001 @@ -677,6 +677,7 @@ int (*backlog_rcv) (struct sock *sk, struct sk_buff *skb); + void (*create_child)(struct sock *sk, struct sock *newsk); void (*destruct)(struct sock *sk); }; diff -rNu linux-2.4.9-ac10/net/ipv4/tcp_minisocks.c linux/net/ipv4/tcp_minisocks.c --- linux-2.4.9-ac10/net/ipv4/tcp_minisocks.c Sat Sep 8 16:35:04 2001 +++ linux/net/ipv4/tcp_minisocks.c Sat Sep 22 09:49:09 2001 @@ -682,6 +682,8 @@ if ((filter = newsk->filter) != NULL) sk_filter_charge(newsk, filter); #endif + if (sk->create_child) + sk->create_child(sk, newsk); /* Now setup tcp_opt */ newtp = &(newsk->tp_pinfo.af_tcp);