#define optlength(opt) (sizeof(struct ip_options) + opt->optlen)
 
 struct inet_request_sock {
-       struct open_request     req;
+       struct request_sock     req;
        u32                     loc_addr;
        u32                     rmt_addr;
        u16                     rmt_port;
        struct ip_options       *opt;
 };
 
-static inline struct inet_request_sock *inet_rsk(const struct open_request *sk)
+static inline struct inet_request_sock *inet_rsk(const struct request_sock *sk)
 {
        return (struct inet_request_sock *)sk;
 }
 
        int                     iif;
 };
 
-static inline struct tcp6_request_sock *tcp6_rsk(const struct open_request *sk)
+static inline struct tcp6_request_sock *tcp6_rsk(const struct request_sock *sk)
 {
        return (struct tcp6_request_sock *)sk;
 }
 
        __u32                    snt_isn;
 };
 
-static inline struct tcp_request_sock *tcp_rsk(const struct open_request *req)
+static inline struct tcp_request_sock *tcp_rsk(const struct request_sock *req)
 {
        return (struct tcp_request_sock *)req;
 }
        struct tcp_listen_opt   *listen_opt;
 
        /* FIFO of established children */
-       struct open_request     *accept_queue;
-       struct open_request     *accept_queue_tail;
+       struct request_sock     *accept_queue;
+       struct request_sock     *accept_queue_tail;
 
        unsigned int            keepalive_time;   /* time before keep alive takes place */
        unsigned int            keepalive_intvl;  /* time interval between keep alive probes */
 
 #include <linux/types.h>
 #include <net/sock.h>
 
-struct open_request;
+struct request_sock;
 struct sk_buff;
 struct dst_entry;
 struct proto;
 
-struct or_calltable {
+struct request_sock_ops {
        int             family;
        kmem_cache_t    *slab;
        int             obj_size;
        int             (*rtx_syn_ack)(struct sock *sk,
-                                      struct open_request *req,
+                                      struct request_sock *req,
                                       struct dst_entry *dst);
        void            (*send_ack)(struct sk_buff *skb,
-                                   struct open_request *req);
+                                   struct request_sock *req);
        void            (*send_reset)(struct sk_buff *skb);
-       void            (*destructor)(struct open_request *req);
+       void            (*destructor)(struct request_sock *req);
 };
 
-/* struct open_request - mini sock to represent a connection request
+/* struct request_sock - mini sock to represent a connection request
  */
-struct open_request {
-       struct open_request             *dl_next; /* Must be first member! */
+struct request_sock {
+       struct request_sock             *dl_next; /* Must be first member! */
        u16                             mss;
        u8                              retrans;
        u8                              __pad;
        u32                             rcv_wnd;          /* rcv_wnd offered first time */
        u32                             ts_recent;
        unsigned long                   expires;
-       struct or_calltable             *class;
+       struct request_sock_ops         *rsk_ops;
        struct sock                     *sk;
 };
 
-static inline struct open_request *tcp_openreq_alloc(struct or_calltable *class)
+static inline struct request_sock *reqsk_alloc(struct request_sock_ops *ops)
 {
-       struct open_request *req = kmem_cache_alloc(class->slab, SLAB_ATOMIC);
+       struct request_sock *req = kmem_cache_alloc(ops->slab, SLAB_ATOMIC);
 
        if (req != NULL)
-               req->class = class;
+               req->rsk_ops = ops;
 
        return req;
 }
 
-static inline void tcp_openreq_fastfree(struct open_request *req)
+static inline void __reqsk_free(struct request_sock *req)
 {
-       kmem_cache_free(req->class->slab, req);
+       kmem_cache_free(req->rsk_ops->slab, req);
 }
 
-static inline void tcp_openreq_free(struct open_request *req)
+static inline void reqsk_free(struct request_sock *req)
 {
-       req->class->destructor(req);
-       tcp_openreq_fastfree(req);
+       req->rsk_ops->destructor(req);
+       __reqsk_free(req);
 }
 
 #endif /* _REQUEST_SOCK_H */
 
 
 extern int sk_wait_data(struct sock *sk, long *timeo);
 
-struct or_calltable;
+struct request_sock_ops;
 
 /* Networking protocol blocks we attach to sockets.
  * socket layer -> transport layer interface
        kmem_cache_t            *slab;
        unsigned int            obj_size;
 
-       struct or_calltable     *rsk_prot;
+       struct request_sock_ops *rsk_prot;
 
        struct module           *owner;
 
 
 
        struct sock *           (*syn_recv_sock)        (struct sock *sk,
                                                         struct sk_buff *skb,
-                                                        struct open_request *req,
+                                                        struct request_sock *req,
                                                         struct dst_entry *dst);
     
        int                     (*remember_stamp)       (struct sock *sk);
                                                           unsigned len);
 
 extern struct sock *           tcp_check_req(struct sock *sk,struct sk_buff *skb,
-                                             struct open_request *req,
-                                             struct open_request **prev);
+                                             struct request_sock *req,
+                                             struct request_sock **prev);
 extern int                     tcp_child_process(struct sock *parent,
                                                  struct sock *child,
                                                  struct sk_buff *skb);
                                                    struct sk_buff *skb);
 
 extern struct sock *           tcp_create_openreq_child(struct sock *sk,
-                                                        struct open_request *req,
+                                                        struct request_sock *req,
                                                         struct sk_buff *skb);
 
 extern struct sock *           tcp_v4_syn_recv_sock(struct sock *sk,
                                                     struct sk_buff *skb,
-                                                    struct open_request *req,
+                                                    struct request_sock *req,
                                                        struct dst_entry *dst);
 
 extern int                     tcp_v4_do_rcv(struct sock *sk,
 
 extern struct sk_buff *                tcp_make_synack(struct sock *sk,
                                                struct dst_entry *dst,
-                                               struct open_request *req);
+                                               struct request_sock *req);
 
 extern int                     tcp_disconnect(struct sock *sk, int flags);
 
        return tcp_win_from_space(sk->sk_rcvbuf); 
 }
 
-static inline void tcp_acceptq_queue(struct sock *sk, struct open_request *req,
+static inline void tcp_acceptq_queue(struct sock *sk, struct request_sock *req,
                                         struct sock *child)
 {
        struct tcp_sock *tp = tcp_sk(sk);
        int                     qlen_young;
        int                     clock_hand;
        u32                     hash_rnd;
-       struct open_request     *syn_table[TCP_SYNQ_HSIZE];
+       struct request_sock     *syn_table[TCP_SYNQ_HSIZE];
 };
 
 static inline void
-tcp_synq_removed(struct sock *sk, struct open_request *req)
+tcp_synq_removed(struct sock *sk, struct request_sock *req)
 {
        struct tcp_listen_opt *lopt = tcp_sk(sk)->listen_opt;
 
        return tcp_synq_len(sk) >> tcp_sk(sk)->listen_opt->max_qlen_log;
 }
 
-static inline void tcp_synq_unlink(struct tcp_sock *tp, struct open_request *req,
-                                      struct open_request **prev)
+static inline void tcp_synq_unlink(struct tcp_sock *tp, struct request_sock *req,
+                                      struct request_sock **prev)
 {
        write_lock(&tp->syn_wait_lock);
        *prev = req->dl_next;
        write_unlock(&tp->syn_wait_lock);
 }
 
-static inline void tcp_synq_drop(struct sock *sk, struct open_request *req,
-                                    struct open_request **prev)
+static inline void tcp_synq_drop(struct sock *sk, struct request_sock *req,
+                                    struct request_sock **prev)
 {
        tcp_synq_unlink(tcp_sk(sk), req, prev);
        tcp_synq_removed(sk, req);
-       tcp_openreq_free(req);
+       reqsk_free(req);
 }
 
-static __inline__ void tcp_openreq_init(struct open_request *req,
+static __inline__ void tcp_openreq_init(struct request_sock *req,
                                        struct tcp_options_received *rx_opt,
                                        struct sk_buff *skb)
 {
 
 }
 
 static __inline__ void
-TCP_ECN_make_synack(struct open_request *req, struct tcphdr *th)
+TCP_ECN_make_synack(struct request_sock *req, struct tcphdr *th)
 {
        if (inet_rsk(req)->ecn_ok)
                th->ece = 1;
 }
 
 static inline void TCP_ECN_openreq_child(struct tcp_sock *tp,
-                                        struct open_request *req)
+                                        struct request_sock *req)
 {
        tp->ecn_flags = inet_rsk(req)->ecn_ok ? TCP_ECN_OK : 0;
 }
 
 static __inline__ void
-TCP_ECN_create_request(struct open_request *req, struct tcphdr *th)
+TCP_ECN_create_request(struct request_sock *req, struct tcphdr *th)
 {
        if (sysctl_tcp_ecn && th->ece && th->cwr)
                inet_rsk(req)->ecn_ok = 1;
 
        return mssind < NUM_MSS ? msstab[mssind] + 1 : 0;
 }
 
-extern struct or_calltable or_ipv4;
+extern struct request_sock_ops tcp_request_sock_ops;
 
 static inline struct sock *get_cookie_sock(struct sock *sk, struct sk_buff *skb,
-                                          struct open_request *req,
+                                          struct request_sock *req,
                                           struct dst_entry *dst)
 {
        struct tcp_sock *tp = tcp_sk(sk);
        if (child)
                tcp_acceptq_queue(sk, req, child);
        else
-               tcp_openreq_free(req);
+               reqsk_free(req);
 
        return child;
 }
        struct tcp_sock *tp = tcp_sk(sk);
        __u32 cookie = ntohl(skb->h.th->ack_seq) - 1; 
        struct sock *ret = sk;
-       struct open_request *req; 
+       struct request_sock *req; 
        int mss; 
        struct rtable *rt; 
        __u8 rcv_wscale;
        NET_INC_STATS_BH(LINUX_MIB_SYNCOOKIESRECV);
 
        ret = NULL;
-       req = tcp_openreq_alloc(&or_ipv4); /* for safety */
+       req = reqsk_alloc(&tcp_request_sock_ops); /* for safety */
        if (!req)
                goto out;
 
                                               { .sport = skb->h.th->dest,
                                                 .dport = skb->h.th->source } } };
                if (ip_route_output_key(&rt, &fl)) {
-                       tcp_openreq_free(req);
+                       reqsk_free(req);
                        goto out; 
                }
        }
 
 {
        struct tcp_sock *tp = tcp_sk(sk);
        struct tcp_listen_opt *lopt = tp->listen_opt;
-       struct open_request *acc_req = tp->accept_queue;
-       struct open_request *req;
+       struct request_sock *acc_req = tp->accept_queue;
+       struct request_sock *req;
        int i;
 
        tcp_delete_keepalive_timer(sk);
                        while ((req = lopt->syn_table[i]) != NULL) {
                                lopt->syn_table[i] = req->dl_next;
                                lopt->qlen--;
-                               tcp_openreq_free(req);
+                               reqsk_free(req);
 
                /* Following specs, it would be better either to send FIN
                 * (and enter FIN-WAIT-1, it is normal close)
                sock_put(child);
 
                sk_acceptq_removed(sk);
-               tcp_openreq_fastfree(req);
+               __reqsk_free(req);
        }
        BUG_TRAP(!sk->sk_ack_backlog);
 }
 struct sock *tcp_accept(struct sock *sk, int flags, int *err)
 {
        struct tcp_sock *tp = tcp_sk(sk);
-       struct open_request *req;
+       struct request_sock *req;
        struct sock *newsk;
        int error;
 
 
        newsk = req->sk;
        sk_acceptq_removed(sk);
-       tcp_openreq_fastfree(req);
+       __reqsk_free(req);
        BUG_TRAP(newsk->sk_state != TCP_SYN_RECV);
        release_sock(sk);
        return newsk;
 
 }
 
 static int tcpdiag_fill_req(struct sk_buff *skb, struct sock *sk,
-                           struct open_request *req,
+                           struct request_sock *req,
                            u32 pid, u32 seq)
 {
        const struct inet_request_sock *ireq = inet_rsk(req);
        }
 
        for (j = s_j; j < TCP_SYNQ_HSIZE; j++) {
-               struct open_request *req, *head = lopt->syn_table[j];
+               struct request_sock *req, *head = lopt->syn_table[j];
 
                reqnum = 0;
                for (req = head; req; reqnum++, req = req->dl_next) {
 
  *                                     ACK bit.
  *             Andi Kleen :            Implemented fast path mtu discovery.
  *                                     Fixed many serious bugs in the
- *                                     open_request handling and moved
+ *                                     request_sock handling and moved
  *                                     most of it into the af independent code.
  *                                     Added tail drop and some other bugfixes.
  *                                     Added new listen sematics.
        return (jhash_2words(raddr, (u32) rport, rnd) & (TCP_SYNQ_HSIZE - 1));
 }
 
-static struct open_request *tcp_v4_search_req(struct tcp_sock *tp,
-                                             struct open_request ***prevp,
+static struct request_sock *tcp_v4_search_req(struct tcp_sock *tp,
+                                             struct request_sock ***prevp,
                                              __u16 rport,
                                              __u32 raddr, __u32 laddr)
 {
        struct tcp_listen_opt *lopt = tp->listen_opt;
-       struct open_request *req, **prev;
+       struct request_sock *req, **prev;
 
        for (prev = &lopt->syn_table[tcp_v4_synq_hash(raddr, rport, lopt->hash_rnd)];
             (req = *prev) != NULL;
                if (ireq->rmt_port == rport &&
                    ireq->rmt_addr == raddr &&
                    ireq->loc_addr == laddr &&
-                   TCP_INET_FAMILY(req->class->family)) {
+                   TCP_INET_FAMILY(req->rsk_ops->family)) {
                        BUG_TRAP(!req->sk);
                        *prevp = prev;
                        break;
        return req;
 }
 
-static void tcp_v4_synq_add(struct sock *sk, struct open_request *req)
+static void tcp_v4_synq_add(struct sock *sk, struct request_sock *req)
 {
        struct tcp_sock *tp = tcp_sk(sk);
        struct tcp_listen_opt *lopt = tp->listen_opt;
        }
 
        switch (sk->sk_state) {
-               struct open_request *req, **prev;
+               struct request_sock *req, **prev;
        case TCP_LISTEN:
                if (sock_owned_by_user(sk))
                        goto out;
        tcp_tw_put(tw);
 }
 
-static void tcp_v4_or_send_ack(struct sk_buff *skb, struct open_request *req)
+static void tcp_v4_reqsk_send_ack(struct sk_buff *skb, struct request_sock *req)
 {
        tcp_v4_send_ack(skb, tcp_rsk(req)->snt_isn + 1, tcp_rsk(req)->rcv_isn + 1, req->rcv_wnd,
                        req->ts_recent);
 }
 
 static struct dst_entry* tcp_v4_route_req(struct sock *sk,
-                                         struct open_request *req)
+                                         struct request_sock *req)
 {
        struct rtable *rt;
        const struct inet_request_sock *ireq = inet_rsk(req);
 
 /*
  *     Send a SYN-ACK after having received an ACK.
- *     This still operates on a open_request only, not on a big
+ *     This still operates on a request_sock only, not on a big
  *     socket.
  */
-static int tcp_v4_send_synack(struct sock *sk, struct open_request *req,
+static int tcp_v4_send_synack(struct sock *sk, struct request_sock *req,
                              struct dst_entry *dst)
 {
        const struct inet_request_sock *ireq = inet_rsk(req);
 }
 
 /*
- *     IPv4 open_request destructor.
+ *     IPv4 request_sock destructor.
  */
-static void tcp_v4_or_free(struct open_request *req)
+static void tcp_v4_reqsk_destructor(struct request_sock *req)
 {
        if (inet_rsk(req)->opt)
                kfree(inet_rsk(req)->opt);
 }
 
 /*
- * Save and compile IPv4 options into the open_request if needed.
+ * Save and compile IPv4 options into the request_sock if needed.
  */
 static inline struct ip_options *tcp_v4_save_options(struct sock *sk,
                                                     struct sk_buff *skb)
  */
 int sysctl_max_syn_backlog = 256;
 
-struct or_calltable or_ipv4 = {
+struct request_sock_ops tcp_request_sock_ops = {
        .family         =       PF_INET,
        .obj_size       =       sizeof(struct tcp_request_sock),
        .rtx_syn_ack    =       tcp_v4_send_synack,
-       .send_ack       =       tcp_v4_or_send_ack,
-       .destructor     =       tcp_v4_or_free,
+       .send_ack       =       tcp_v4_reqsk_send_ack,
+       .destructor     =       tcp_v4_reqsk_destructor,
        .send_reset     =       tcp_v4_send_reset,
 };
 
 {
        struct inet_request_sock *ireq;
        struct tcp_options_received tmp_opt;
-       struct open_request *req;
+       struct request_sock *req;
        __u32 saddr = skb->nh.iph->saddr;
        __u32 daddr = skb->nh.iph->daddr;
        __u32 isn = TCP_SKB_CB(skb)->when;
        if (sk_acceptq_is_full(sk) && tcp_synq_young(sk) > 1)
                goto drop;
 
-       req = tcp_openreq_alloc(&or_ipv4);
+       req = reqsk_alloc(&tcp_request_sock_ops);
        if (!req)
                goto drop;
 
                goto drop_and_free;
 
        if (want_cookie) {
-               tcp_openreq_free(req);
+               reqsk_free(req);
        } else {
                tcp_v4_synq_add(sk, req);
        }
        return 0;
 
 drop_and_free:
-       tcp_openreq_free(req);
+       reqsk_free(req);
 drop:
        TCP_INC_STATS_BH(TCP_MIB_ATTEMPTFAILS);
        return 0;
  * now create the new socket.
  */
 struct sock *tcp_v4_syn_recv_sock(struct sock *sk, struct sk_buff *skb,
-                                 struct open_request *req,
+                                 struct request_sock *req,
                                  struct dst_entry *dst)
 {
        struct inet_request_sock *ireq;
        struct iphdr *iph = skb->nh.iph;
        struct tcp_sock *tp = tcp_sk(sk);
        struct sock *nsk;
-       struct open_request **prev;
+       struct request_sock **prev;
        /* Find possible connection requests. */
-       struct open_request *req = tcp_v4_search_req(tp, &prev, th->source,
+       struct request_sock *req = tcp_v4_search_req(tp, &prev, th->source,
                                                     iph->saddr, iph->daddr);
        if (req)
                return tcp_check_req(sk, skb, req, prev);
        ++st->num;
 
        if (st->state == TCP_SEQ_STATE_OPENREQ) {
-               struct open_request *req = cur;
+               struct request_sock *req = cur;
 
                tp = tcp_sk(st->syn_wait_sk);
                req = req->dl_next;
                while (1) {
                        while (req) {
-                               if (req->class->family == st->family) {
+                               if (req->rsk_ops->family == st->family) {
                                        cur = req;
                                        goto out;
                                }
        memset(afinfo->seq_fops, 0, sizeof(*afinfo->seq_fops)); 
 }
 
-static void get_openreq4(struct sock *sk, struct open_request *req,
+static void get_openreq4(struct sock *sk, struct request_sock *req,
                         char *tmpbuf, int i, int uid)
 {
        const struct inet_request_sock *ireq = inet_rsk(req);
        .sysctl_rmem            = sysctl_tcp_rmem,
        .max_header             = MAX_TCP_HEADER,
        .obj_size               = sizeof(struct tcp_sock),
-       .rsk_prot               = &or_ipv4,
+       .rsk_prot               = &tcp_request_sock_ops,
 };
 
 
 
  * Actually, we could lots of memory writes here. tp of listening
  * socket contains all necessary default parameters.
  */
-struct sock *tcp_create_openreq_child(struct sock *sk, struct open_request *req, struct sk_buff *skb)
+struct sock *tcp_create_openreq_child(struct sock *sk, struct request_sock *req, struct sk_buff *skb)
 {
        /* allocate the newsk from the same slab of the master sock,
         * if not, at sk_free time we'll try to free it from the wrong
 
 /* 
  *     Process an incoming packet for SYN_RECV sockets represented
- *     as an open_request.
+ *     as a request_sock.
  */
 
 struct sock *tcp_check_req(struct sock *sk,struct sk_buff *skb,
-                          struct open_request *req,
-                          struct open_request **prev)
+                          struct request_sock *req,
+                          struct request_sock **prev)
 {
        struct tcphdr *th = skb->h.th;
        struct tcp_sock *tp = tcp_sk(sk);
                 * Enforce "SYN-ACK" according to figure 8, figure 6
                 * of RFC793, fixed by RFC1122.
                 */
-               req->class->rtx_syn_ack(sk, req, NULL);
+               req->rsk_ops->rtx_syn_ack(sk, req, NULL);
                return NULL;
        }
 
                                          tcp_rsk(req)->rcv_isn + 1, tcp_rsk(req)->rcv_isn + 1 + req->rcv_wnd)) {
                /* Out of window: send ACK and drop. */
                if (!(flg & TCP_FLAG_RST))
-                       req->class->send_ack(skb, req);
+                       req->rsk_ops->send_ack(skb, req);
                if (paws_reject)
                        NET_INC_STATS_BH(LINUX_MIB_PAWSESTABREJECTED);
                return NULL;
        embryonic_reset:
                NET_INC_STATS_BH(LINUX_MIB_EMBRYONICRSTS);
                if (!(flg & TCP_FLAG_RST))
-                       req->class->send_reset(skb);
+                       req->rsk_ops->send_reset(skb);
 
                tcp_synq_drop(sk, req, prev);
                return NULL;
 
  * Prepare a SYN-ACK.
  */
 struct sk_buff * tcp_make_synack(struct sock *sk, struct dst_entry *dst,
-                                struct open_request *req)
+                                struct request_sock *req)
 {
        struct inet_request_sock *ireq = inet_rsk(req);
        struct tcp_sock *tp = tcp_sk(sk);
 
        int max_retries = tp->syn_retries ? : sysctl_tcp_synack_retries;
        int thresh = max_retries;
        unsigned long now = jiffies;
-       struct open_request **reqp, *req;
+       struct request_sock **reqp, *req;
        int i, budget;
 
        if (lopt == NULL || lopt->qlen == 0)
                        if (time_after_eq(now, req->expires)) {
                                if ((req->retrans < thresh ||
                                     (inet_rsk(req)->acked && req->retrans < max_retries))
-                                   && !req->class->rtx_syn_ack(sk, req, NULL)) {
+                                   && !req->rsk_ops->rtx_syn_ack(sk, req, NULL)) {
                                        unsigned long timeo;
 
                                        if (req->retrans++ == 0)
                                lopt->qlen--;
                                if (req->retrans == 0)
                                        lopt->qlen_young--;
-                               tcp_openreq_free(req);
+                               reqsk_free(req);
                                continue;
                        }
                        reqp = &req->dl_next;
 
 #include <linux/seq_file.h>
 
 static void    tcp_v6_send_reset(struct sk_buff *skb);
-static void    tcp_v6_or_send_ack(struct sk_buff *skb, struct open_request *req);
+static void    tcp_v6_reqsk_send_ack(struct sk_buff *skb, struct request_sock *req);
 static void    tcp_v6_send_check(struct sock *sk, struct tcphdr *th, int len, 
                                  struct sk_buff *skb);
 
        return c & (TCP_SYNQ_HSIZE - 1);
 }
 
-static struct open_request *tcp_v6_search_req(struct tcp_sock *tp,
-                                             struct open_request ***prevp,
+static struct request_sock *tcp_v6_search_req(struct tcp_sock *tp,
+                                             struct request_sock ***prevp,
                                              __u16 rport,
                                              struct in6_addr *raddr,
                                              struct in6_addr *laddr,
                                              int iif)
 {
        struct tcp_listen_opt *lopt = tp->listen_opt;
-       struct open_request *req, **prev;  
+       struct request_sock *req, **prev;  
 
        for (prev = &lopt->syn_table[tcp_v6_synq_hash(raddr, rport, lopt->hash_rnd)];
             (req = *prev) != NULL;
                const struct tcp6_request_sock *treq = tcp6_rsk(req);
 
                if (inet_rsk(req)->rmt_port == rport &&
-                   req->class->family == AF_INET6 &&
+                   req->rsk_ops->family == AF_INET6 &&
                    ipv6_addr_equal(&treq->rmt_addr, raddr) &&
                    ipv6_addr_equal(&treq->loc_addr, laddr) &&
                    (!treq->iif || treq->iif == iif)) {
 
        icmpv6_err_convert(type, code, &err);
 
-       /* Might be for an open_request */
+       /* Might be for an request_sock */
        switch (sk->sk_state) {
-               struct open_request *req, **prev;
+               struct request_sock *req, **prev;
        case TCP_LISTEN:
                if (sock_owned_by_user(sk))
                        goto out;
 }
 
 
-static int tcp_v6_send_synack(struct sock *sk, struct open_request *req,
+static int tcp_v6_send_synack(struct sock *sk, struct request_sock *req,
                              struct dst_entry *dst)
 {
        struct tcp6_request_sock *treq = tcp6_rsk(req);
        return err;
 }
 
-static void tcp_v6_or_free(struct open_request *req)
+static void tcp_v6_reqsk_destructor(struct request_sock *req)
 {
        if (tcp6_rsk(req)->pktopts)
                kfree_skb(tcp6_rsk(req)->pktopts);
 }
 
-static struct or_calltable or_ipv6 = {
+static struct request_sock_ops tcp6_request_sock_ops = {
        .family         =       AF_INET6,
        .obj_size       =       sizeof(struct tcp6_request_sock),
        .rtx_syn_ack    =       tcp_v6_send_synack,
-       .send_ack       =       tcp_v6_or_send_ack,
-       .destructor     =       tcp_v6_or_free,
+       .send_ack       =       tcp_v6_reqsk_send_ack,
+       .destructor     =       tcp_v6_reqsk_destructor,
        .send_reset     =       tcp_v6_send_reset
 };
 
        tcp_tw_put(tw);
 }
 
-static void tcp_v6_or_send_ack(struct sk_buff *skb, struct open_request *req)
+static void tcp_v6_reqsk_send_ack(struct sk_buff *skb, struct request_sock *req)
 {
        tcp_v6_send_ack(skb, tcp_rsk(req)->snt_isn + 1, tcp_rsk(req)->rcv_isn + 1, req->rcv_wnd, req->ts_recent);
 }
 
 static struct sock *tcp_v6_hnd_req(struct sock *sk,struct sk_buff *skb)
 {
-       struct open_request *req, **prev;
+       struct request_sock *req, **prev;
        struct tcphdr *th = skb->h.th;
        struct tcp_sock *tp = tcp_sk(sk);
        struct sock *nsk;
        return sk;
 }
 
-static void tcp_v6_synq_add(struct sock *sk, struct open_request *req)
+static void tcp_v6_synq_add(struct sock *sk, struct request_sock *req)
 {
        struct tcp_sock *tp = tcp_sk(sk);
        struct tcp_listen_opt *lopt = tp->listen_opt;
        struct ipv6_pinfo *np = inet6_sk(sk);
        struct tcp_options_received tmp_opt;
        struct tcp_sock *tp = tcp_sk(sk);
-       struct open_request *req = NULL;
+       struct request_sock *req = NULL;
        __u32 isn = TCP_SKB_CB(skb)->when;
 
        if (skb->protocol == htons(ETH_P_IP))
        if (sk_acceptq_is_full(sk) && tcp_synq_young(sk) > 1)
                goto drop;
 
-       req = tcp_openreq_alloc(&or_ipv6);
+       req = reqsk_alloc(&tcp6_request_sock_ops);
        if (req == NULL)
                goto drop;
 
 
 drop:
        if (req)
-               tcp_openreq_free(req);
+               reqsk_free(req);
 
        TCP_INC_STATS_BH(TCP_MIB_ATTEMPTFAILS);
        return 0; /* don't send reset */
 }
 
 static struct sock * tcp_v6_syn_recv_sock(struct sock *sk, struct sk_buff *skb,
-                                         struct open_request *req,
+                                         struct request_sock *req,
                                          struct dst_entry *dst)
 {
        struct tcp6_request_sock *treq = tcp6_rsk(req);
 
 /* Proc filesystem TCPv6 sock list dumping. */
 static void get_openreq6(struct seq_file *seq, 
-                        struct sock *sk, struct open_request *req, int i, int uid)
+                        struct sock *sk, struct request_sock *req, int i, int uid)
 {
        struct in6_addr *dest, *src;
        int ttd = req->expires - jiffies;
        .sysctl_rmem            = sysctl_tcp_rmem,
        .max_header             = MAX_TCP_HEADER,
        .obj_size               = sizeof(struct tcp6_sock),
-       .rsk_prot               = &or_ipv6,
+       .rsk_prot               = &tcp6_request_sock_ops,
 };
 
 static struct inet6_protocol tcpv6_protocol = {