merge tcp_sock with tcp_opt
Subsystems (6)
PATCH 1/1 merge tcp_sock with tcp_opt
Hi David,
Here is the tcp_sock one, please consider pulling from:
bk://kernel.bkbits.net/acme/connection_sock-2.6
There are some cases where both sock and tcp_sock pointers
are passed to functions, as one can be obtained from the other quite easily, a following patch will leave those functions receiving only a struct sock pointer.
Regards,
- Arnaldo
===================================================================
[email protected], 2004-12-28 16:22:56-02:00, [email protected]
[TCP] merge tcp_sock with tcp_opt
No need for two structs, follow the new inet_sock layout style.
include/linux/ipv6.h | 3 include/linux/tcp.h | 14 -- include/net/tcp.h | 112 ++++++++++----------- include/net/tcp_ecn.h | 37 ++----- net/ipv4/ip_sockglue.c | 2 net/ipv4/syncookies.c | 6 - net/ipv4/tcp.c | 48 ++++----- net/ipv4/tcp_diag.c | 4 net/ipv4/tcp_input.c | 240 +++++++++++++++++++++++------------------------ net/ipv4/tcp_ipv4.c | 30 ++--- net/ipv4/tcp_minisocks.c | 12 +- net/ipv4/tcp_output.c | 63 ++++++------ net/ipv4/tcp_timer.c | 20 +-- net/ipv6/ipv6_sockglue.c | 4 net/ipv6/tcp_ipv6.c | 28 ++--- net/sunrpc/svcsock.c | 2 net/sunrpc/xprt.c | 3 17 files changed, 308 insertions(+), 320 deletions(-)
include/linux/ipv6.h +1 -2
@@ -268,8 +268,7 @@ };struct tcp6_sock { -struct inet_sock inet; -struct tcp_opt tcp; +struct tcp_sock tcp;struct ipv6_pinfo inet6; };
include/linux/tcp.h +5 -9
@@ -214,7 +214,9 @@ TCP_BIC, }; -struct tcp_opt { +struct tcp_sock { +/* inet_sock has to be the first member of tcp_sock */ +struct inet_sock inet;int tcp_header_len;/* Bytes of tcp header to send */ /*
@@ -438,15 +440,9 @@ } bictcp; }; -/* WARNING: don't change the layout of the members in tcp_sock! */ -struct tcp_sock { -struct inet_sock inet; -struct tcp_opt tcp; -}; - -static inline struct tcp_opt *tcp_sk (const struct sock *__sk) +static inline struct tcp_sock *tcp_sk (const struct sock *sk) { -return &((struct tcp_sock *)__sk)->tcp; +return (struct tcp_sock *)sk; }#endif
include/net/tcp.h +56 -56
415 lines not on this page · raw message
include/net/tcp_ecn.h +15 -22
@@ -9,8 +9,7 @@#define TCP_ECN_QUEUE_CWR 2#define TCP_ECN_DEMAND_CWR 4 -static __inline__void -TCP_ECN_queue_cwr (struct tcp_opt *tp) +static inline void TCP_ECN_queue_cwr (struct tcp_sock *tp) {if (tp->ecn_flags&TCP_ECN_OK ) tp->ecn_flags |=TCP_ECN_QUEUE_CWR ;
@@ -19,16 +18,16 @@/* Output functions */ -static __inline__void -TCP_ECN_send_synack (struct tcp_opt *tp,struct sk_buff *skb) +static inline void TCP_ECN_send_synack (struct tcp_sock *tp, +struct sk_buff *skb) {TCP_SKB_CB (skb)->flags &= ~TCPCB_FLAG_CWR ;if (!(tp->ecn_flags&TCP_ECN_OK ))TCP_SKB_CB (skb)->flags &= ~TCPCB_FLAG_ECE ; } -static __inline__void -TCP_ECN_send_syn (struct sock *sk,struct tcp_opt *tp,struct sk_buff *skb) +static inline void TCP_ECN_send_syn (struct sock *sk,struct tcp_sock *tp, +struct sk_buff *skb) { tp->ecn_flags =0 ;if (sysctl_tcp_ecn && !(sk->sk_route_caps &NETIF_F_TSO )) {
@@ -45,8 +44,8 @@ th->ece =1 ; } -static __inline__void -TCP_ECN_send (struct sock *sk,struct tcp_opt *tp,struct sk_buff *skb,int tcp_header_len) +static inline void TCP_ECN_send (struct sock *sk,struct tcp_sock *tp, +struct sk_buff *skb,int tcp_header_len) {if (tp->ecn_flags &TCP_ECN_OK ) {/* Not-retransmitted data segment: set ECT and inject CWR. */
@@ -68,21 +67,18 @@/* Input functions */ -static __inline__void -TCP_ECN_accept_cwr (struct tcp_opt *tp,struct sk_buff *skb) +static inline void TCP_ECN_accept_cwr (struct tcp_sock *tp,struct sk_buff *skb) {if (skb->h.th->cwr) tp->ecn_flags &= ~TCP_ECN_DEMAND_CWR ; } -static __inline__void -TCP_ECN_withdraw_cwr (struct tcp_opt *tp) +static inline void TCP_ECN_withdraw_cwr (struct tcp_sock *tp) { tp->ecn_flags &= ~TCP_ECN_DEMAND_CWR ; } -static __inline__void -TCP_ECN_check_ce (struct tcp_opt *tp,struct sk_buff *skb) +static inline void TCP_ECN_check_ce (struct tcp_sock *tp,struct sk_buff *skb) {if (tp->ecn_flags&TCP_ECN_OK ) {if (INET_ECN_is_ce (TCP_SKB_CB (skb)->flags))
@@ -95,30 +91,27 @@ } } -static __inline__void -TCP_ECN_rcv_synack (struct tcp_opt *tp,struct tcphdr *th) +static inline void TCP_ECN_rcv_synack (struct tcp_sock *tp,struct tcphdr *th) {if ((tp->ecn_flags&TCP_ECN_OK ) && (!th->ece || th->cwr)) tp->ecn_flags &= ~TCP_ECN_OK ; } -static __inline__void -TCP_ECN_rcv_syn (struct tcp_opt *tp,struct tcphdr *th) +static inline void TCP_ECN_rcv_syn (struct tcp_sock *tp,struct tcphdr *th) {if ((tp->ecn_flags&TCP_ECN_OK ) && (!th->ece || !th->cwr)) tp->ecn_flags &= ~TCP_ECN_OK ; } -static __inline__int -TCP_ECN_rcv_ecn_echo (struct tcp_opt *tp,struct tcphdr *th) +static inline int TCP_ECN_rcv_ecn_echo (struct tcp_sock *tp,struct tcphdr *th) {if (th->ece && !th->syn && (tp->ecn_flags&TCP_ECN_OK ))return 1 ;return 0 ; } -static __inline__void -TCP_ECN_openreq_child (struct tcp_opt *tp,struct open_request *req) +static inline void TCP_ECN_openreq_child (struct tcp_sock *tp, +struct open_request *req) { tp->ecn_flags = req->ecn_ok ?TCP_ECN_OK :0 ; }
net/ipv4/ip_sockglue.c +1 -1
@@ -429,7 +429,7 @@if (err)break ;if (sk->sk_type ==SOCK_STREAM ) { -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);#if defined(CONFIG_IPV6 ) || defined(CONFIG_IPV6_MODULE ) if (sk->sk_family == PF_INET || (!((1 << sk->sk_state) &
net/ipv4/syncookies.c +3 -3
@@ -47,7 +47,7 @@*/ __u32 cookie_v4_init_sequence (struct sock *sk,struct sk_buff *skb,__u16 *mssp) { -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);int mssind;const __u16 mss = *mssp;
@@ -98,7 +98,7 @@struct open_request *req, struct dst_entry *dst) { - struct tcp_opt *tp = tcp_sk(sk); + struct tcp_sock *tp = tcp_sk(sk);struct sock *child; child = tp->af_specific->syn_recv_sock (sk, skb, req, dst);
@@ -114,7 +114,7 @@struct sock *cookie_v4_check (struct sock *sk,struct sk_buff *skb,struct ip_options *opt) { -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);__u32 cookie =ntohl (skb->h.th->ack_seq) -1 ;struct sock *ret = sk;struct open_request *req;
net/ipv4/tcp.c +24 -24
189 lines not on this page · raw message
net/ipv4/tcp_diag.c +2 -2
@@ -56,7 +56,7 @@ int ext, u32 pid, u32 seq, u16 nlmsg_flags) { struct inet_sock *inet = inet_sk(sk); -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);struct tcpdiagmsg *r;struct nlmsghdr *nlh;struct tcp_info *info =NULL ;
@@ -512,7 +512,7 @@ {struct tcpdiag_entry entry;struct tcpdiagreq *r =NLMSG_DATA (cb->nlh); -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);struct tcp_listen_opt *lopt;struct rtattr *bc =NULL ;struct inet_sock *inet =inet_sk (sk);
net/ipv4/tcp_input.c +120 -120
903 lines not on this page · raw message
net/ipv4/tcp_ipv4.c +15 -15
@@ -568,7 +568,7 @@ tw = (struct tcp_tw_bucket *)sk2;if (TCP_IPV4_TW_MATCH (sk2, acookie, saddr, daddr, ports, dif)) { -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);/* With PAWS, it is safe from the viewpoint of data integrity. Even without PAWS it
@@ -744,7 +744,7 @@int tcp_v4_connect (struct sock *sk,struct sockaddr *uaddr,int addr_len) {struct inet_sock *inet =inet_sk (sk); -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);struct sockaddr_in *usin = (struct sockaddr_in *)uaddr;struct rtable *rt;u32 daddr, nexthop;
@@ -867,7 +867,7 @@return (jhash_2words (raddr, (u32 ) rport, rnd) & (TCP_SYNQ_HSIZE -1 )); } -static struct open_request *tcp_v4_search_req (struct tcp_opt *tp, +static struct open_request *tcp_v4_search_req (struct tcp_sock *tp,struct open_request ***prevp,__u16 rport,__u32 raddr,__u32 laddr)
@@ -893,7 +893,7 @@static void tcp_v4_synq_add (struct sock *sk,struct open_request *req) { -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);struct tcp_listen_opt *lopt = tp->listen_opt;u32 h =tcp_v4_synq_hash (req->af.v4_req.rmt_addr, req->rmt_port, lopt->hash_rnd);
@@ -918,7 +918,7 @@ {struct dst_entry *dst;struct inet_sock *inet =inet_sk (sk); -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);/* We are not interested in TCP_LISTEN and open_requests (SYN-ACKs * send out by Linux are always <576bytes so they should go through
@@ -979,7 +979,7 @@ {struct iphdr *iph = (struct iphdr *)skb->data;struct tcphdr *th = (struct tcphdr *)(skb->data + (iph->ihl <<2 )); -struct tcp_opt *tp; +struct tcp_sock *tp;struct inet_sock *inet;int type = skb->h.icmph->type;int code = skb->h.icmph->code;
@@ -1393,7 +1393,7 @@int tcp_v4_conn_request (struct sock *sk,struct sk_buff *skb) { -struct tcp_opt tp; +struct tcp_sock tp;struct open_request *req;__u32 saddr = skb->nh.iph->saddr;__u32 daddr = skb->nh.iph->daddr;
@@ -1550,7 +1550,7 @@ struct dst_entry *dst) {struct inet_sock *newinet; -struct tcp_opt *newtp; +struct tcp_sock *newtp;struct sock *newsk;if (sk_acceptq_is_full (sk))
@@ -1602,7 +1602,7 @@ {struct tcphdr *th = skb->h.th;struct iphdr *iph = skb->nh.iph; -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);struct sock *nsk;struct open_request **prev;/* Find possible connection requests. */
@@ -1972,7 +1972,7 @@int tcp_v4_remember_stamp (struct sock *sk) {struct inet_sock *inet =inet_sk (sk); -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);struct rtable *rt = (struct rtable *)__sk_dst_get (sk);struct inet_peer *peer =NULL ;int release_it =0 ;
@@ -2040,7 +2040,7 @@*/ static int tcp_v4_init_sock (struct sock *sk) { -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);skb_queue_head_init (&tp->out_of_order_queue);tcp_init_xmit_timers (sk);
@@ -2082,7 +2082,7 @@int tcp_v4_destroy_sock (struct sock *sk) { -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);tcp_clear_xmit_timers (sk);
@@ -2131,7 +2131,7 @@static void *listening_get_next (struct seq_file *seq,void *cur) { -struct tcp_opt *tp; +struct tcp_sock *tp;struct hlist_node *node;struct sock *sk = cur;struct tcp_iter_state * st = seq->private;
@@ -2368,7 +2368,7 @@switch (st->state) {case TCP_SEQ_STATE_OPENREQ :if (v) { -struct tcp_opt *tp =tcp_sk (st->syn_wait_sk); +struct tcp_sock *tp =tcp_sk (st->syn_wait_sk);read_unlock_bh (&tp->syn_wait_lock); }case TCP_SEQ_STATE_LISTENING :
@@ -2473,7 +2473,7 @@ {int timer_active;unsigned long timer_expires; -struct tcp_opt *tp =tcp_sk (sp); +struct tcp_sock *tp =tcp_sk (sp);struct inet_sock *inet =inet_sk (sp);unsigned int dest = inet->daddr;unsigned int src = inet->rcv_saddr;
net/ipv4/tcp_minisocks.c +6 -6
@@ -123,7 +123,7 @@ tcp_timewait_state_process(struct tcp_tw_bucket *tw, struct sk_buff *skb, struct tcphdr *th, unsigned len) { - struct tcp_opt tp; + struct tcp_sock tp;int paws_reject =0 ; tp.saw_tstamp =0 ;
@@ -327,7 +327,7 @@void tcp_time_wait (struct sock *sk,int state,int timeo) {struct tcp_tw_bucket *tw =NULL ; -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);int recycle_ok =0 ;if (sysctl_tcp_tw_recycle && tp->ts_recent_stamp)
@@ -690,7 +690,7 @@struct sock *newsk =sk_alloc (PF_INET ,GFP_ATOMIC ,0 , sk->sk_prot->slab);if (newsk !=NULL ) { -struct tcp_opt *newtp; +struct tcp_sock *newtp;struct sk_filter *filter;memcpy (newsk, sk,sizeof (struct tcp_sock ));
@@ -734,7 +734,7 @@return NULL ; } -/* Now setup tcp_opt */ +/* Now setup tcp_sock */ newtp =tcp_sk (newsk); newtp->pred_flags =0 ; newtp->rcv_nxt = req->rcv_isn +1 ;
@@ -858,10 +858,10 @@ struct open_request **prev) {struct tcphdr *th = skb->h.th; -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);u32 flg =tcp_flag_word (th) & (TCP_FLAG_RST |TCP_FLAG_SYN |TCP_FLAG_ACK );int paws_reject =0 ; -struct tcp_opt ttp; +struct tcp_sock ttp;struct sock *child; ttp.saw_tstamp =0 ;
net/ipv4/tcp_output.c +32 -31
243 lines not on this page · raw message
net/ipv4/tcp_timer.c +10 -10
@@ -48,7 +48,7 @@void tcp_init_xmit_timers (struct sock *sk) { -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);init_timer (&tp->retransmit_timer); tp->retransmit_timer.function=&tcp_write_timer;
@@ -67,7 +67,7 @@void tcp_clear_xmit_timers (struct sock *sk) { -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk); tp->pending =0 ;sk_stop_timer (sk, &tp->retransmit_timer);
@@ -101,7 +101,7 @@*/ static int tcp_out_of_resources (struct sock *sk,int do_reset) { -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);int orphans =atomic_read (&tcp_orphan_count);/* If peer does not open window for long time, or did not transmit
@@ -154,7 +154,7 @@/* A write timeout has occurred. Process the after effects. */ static int tcp_write_timeout (struct sock *sk) { -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);int retry_until;if ((1 << sk->sk_state) & (TCPF_SYN_SENT |TCPF_SYN_RECV )) {
@@ -208,7 +208,7 @@static void tcp_delack_timer (unsigned long data) {struct sock *sk = (struct sock *)data; -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);bh_lock_sock (sk);if (sock_owned_by_user (sk)) {
@@ -268,7 +268,7 @@static void tcp_probe_timer (struct sock *sk) { -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);int max_probes;if (tcp_get_pcount (&tp->packets_out) || !sk->sk_send_head) {
@@ -316,7 +316,7 @@static void tcp_retransmit_timer (struct sock *sk) { -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);if (!tcp_get_pcount (&tp->packets_out)) goto out;
@@ -418,7 +418,7 @@static void tcp_write_timer (unsigned long data) {struct sock *sk = (struct sock *)data; -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);int event;bh_lock_sock (sk);
@@ -462,7 +462,7 @@static void tcp_synack_timer (struct sock *sk) { -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);struct tcp_listen_opt *lopt = tp->listen_opt;int max_retries = tp->syn_retries ? : sysctl_tcp_synack_retries;int thresh = max_retries;
@@ -573,7 +573,7 @@static void tcp_keepalive_timer (unsigned long data) {struct sock *sk = (struct sock *) data; -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);__u32 elapsed;/* Only process if socket is not in use. */
net/ipv6/ipv6_sockglue.c +2 -2
@@ -164,7 +164,7 @@ipv6_sock_mc_close (sk);if (sk->sk_protocol ==IPPROTO_TCP ) { -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);local_bh_disable ();sock_prot_dec_use (sk->sk_prot);
@@ -281,7 +281,7 @@ retv =0 ;if (sk->sk_type ==SOCK_STREAM ) {if (opt) { -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);if (!((1 << sk->sk_state) & (TCPF_LISTEN |TCPF_CLOSE )) &&inet_sk (sk)->daddr !=LOOPBACK4_IPV6 ) {
net/ipv6/tcp_ipv6.c +14 -14
@@ -235,7 +235,7 @@static void tcp_v6_hash (struct sock *sk) {if (sk->sk_state !=TCP_CLOSE ) { -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);if (tp->af_specific == &ipv6_mapped) { tcp_prot.hash (sk);
@@ -391,7 +391,7 @@return c & (TCP_SYNQ_HSIZE -1 ); } -static struct open_request *tcp_v6_search_req(struct tcp_opt *tp, +static struct open_request *tcp_v6_search_req(struct tcp_sock *tp, struct open_request ***prevp, __u16 rport, struct in6_addr *raddr,
@@ -466,7 +466,7 @@ ipv6_addr_equal(&tw->tw_v6_daddr, saddr) && ipv6_addr_equal(&tw->tw_v6_rcv_saddr, daddr) && sk2->sk_bound_dev_if == sk->sk_bound_dev_if) { -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);if (tw->tw_ts_recent_stamp) {/* See comment in tcp_ipv4.c */
@@ -551,7 +551,7 @@struct sockaddr_in6 *usin = (struct sockaddr_in6 *) uaddr;struct inet_sock *inet =inet_sk (sk);struct ipv6_pinfo *np =inet6_sk (sk); -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);struct in6_addr *saddr =NULL , *final_p =NULL , final;struct flowi fl;struct dst_entry *dst;
@@ -741,7 +741,7 @@struct ipv6_pinfo *np;struct sock *sk;int err; -struct tcp_opt *tp; +struct tcp_sock *tp;__u32 seq; sk =tcp_v6_lookup (&hdr->daddr, th->dest, &hdr->saddr, th->source, skb->dev->ifindex);
@@ -1146,7 +1146,7 @@ {struct open_request *req, **prev;struct tcphdr *th = skb->h.th; -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);struct sock *nsk;/* Find possible connection requests. */
@@ -1179,7 +1179,7 @@static void tcp_v6_synq_add (struct sock *sk,struct open_request *req) { -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);struct tcp_listen_opt *lopt = tp->listen_opt;u32 h =tcp_v6_synq_hash (&req->af.v6_req.rmt_addr, req->rmt_port, lopt->hash_rnd);
@@ -1202,7 +1202,7 @@static int tcp_v6_conn_request (struct sock *sk,struct sk_buff *skb) {struct ipv6_pinfo *np =inet6_sk (sk); -struct tcp_opt tmptp, *tp =tcp_sk (sk); +struct tcp_sock tmptp, *tp =tcp_sk (sk);struct open_request *req =NULL ;__u32 isn =TCP_SKB_CB (skb)->when;
@@ -1282,7 +1282,7 @@struct ipv6_pinfo *newnp, *np =inet6_sk (sk);struct tcp6_sock *newtcp6sk;struct inet_sock *newinet; -struct tcp_opt *newtp; +struct tcp_sock *newtp;struct sock *newsk;struct ipv6_txoptions *opt;
@@ -1297,7 +1297,7 @@return NULL ; newtcp6sk = (struct tcp6_sock *)newsk; - newtcp6sk->inet.pinet6 = &newtcp6sk->inet6; +inet_sk (newsk)->pinet6 = &newtcp6sk->inet6; newinet =inet_sk (newsk); newnp =inet6_sk (newsk);
@@ -1390,7 +1390,7 @@ ~(NETIF_F_IP_CSUM |NETIF_F_TSO ); newtcp6sk = (struct tcp6_sock *)newsk; - newtcp6sk->inet.pinet6 = &newtcp6sk->inet6; +inet_sk (newsk)->pinet6 = &newtcp6sk->inet6; newtp =tcp_sk (newsk); newinet =inet_sk (newsk);
@@ -1497,7 +1497,7 @@static int tcp_v6_do_rcv (struct sock *sk,struct sk_buff *skb) {struct ipv6_pinfo *np =inet6_sk (sk); -struct tcp_opt *tp; +struct tcp_sock *tp;struct sk_buff *opt_skb =NULL ;/* Imagine: socket is IPv6. IPv4 packet arrives,
@@ -1919,7 +1919,7 @@*/ static int tcp_v6_init_sock (struct sock *sk) { -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk);skb_queue_head_init (&tp->out_of_order_queue);tcp_init_xmit_timers (sk);
@@ -2007,7 +2007,7 @@int timer_active;unsigned long timer_expires;struct inet_sock *inet =inet_sk (sp); -struct tcp_opt *tp =tcp_sk (sp); +struct tcp_sock *tp =tcp_sk (sp);struct ipv6_pinfo *np =inet6_sk (sp); dest = &np->daddr;
net/sunrpc/svcsock.c +1 -1
@@ -1077,7 +1077,7 @@ svc_tcp_init(struct svc_sock *svsk) {struct sock *sk = svsk->sk_sk; -struct tcp_opt *tp =tcp_sk (sk); +struct tcp_sock *tp =tcp_sk (sk); svsk->sk_recvfrom = svc_tcp_recvfrom; svsk->sk_sendto = svc_tcp_sendto;
net/sunrpc/xprt.c +1 -2
@@ -1545,8 +1545,7 @@ sk->sk_no_check =UDP_CSUM_NORCV ;xprt_set_connected (xprt); }else { -struct tcp_opt *tp =tcp_sk (sk); - tp->nonagle =1 ;/* disable Nagle's algorithm */ +tcp_sk (sk)->nonagle =1 ;/* disable Nagle's algorithm */ sk->sk_data_ready = tcp_data_ready; sk->sk_state_change = tcp_state_change;xprt_clear_connected (xprt);
David S. Miller
maintainerQuoted 3 lines · On Tue, 28 Dec 2004 16:39:50 -0200 Arnaldo Carvalho de Melo…
Here is the
tcp_sockone, please consider pulling from:bk://kernel.bkbits.net/acme/connection_sock-2.6
Pulled, thanks Arnaldo.