tcp_output.c (62910554656cdcd6b6f84a5154c4155aae4ca231) | tcp_output.c (0eae88f31ca2b88911ce843452054139e028771f) |
---|---|
1/* 2 * INET An implementation of the TCP/IP protocol suite for the LINUX 3 * operating system. INET is implemented using the BSD Socket 4 * interface as the means of communication with the user level. 5 * 6 * Implementation of the Transmission Control Protocol(TCP). 7 * 8 * Authors: Ross Biro --- 847 unchanged lines hidden (view full) --- 856 th->urg_ptr = 0; 857 858 /* The urg_mode check is necessary during a below snd_una win probe */ 859 if (unlikely(tcp_urg_mode(tp) && before(tcb->seq, tp->snd_up))) { 860 if (before(tp->snd_up, tcb->seq + 0x10000)) { 861 th->urg_ptr = htons(tp->snd_up - tcb->seq); 862 th->urg = 1; 863 } else if (after(tcb->seq + 0xFFFF, tp->snd_nxt)) { | 1/* 2 * INET An implementation of the TCP/IP protocol suite for the LINUX 3 * operating system. INET is implemented using the BSD Socket 4 * interface as the means of communication with the user level. 5 * 6 * Implementation of the Transmission Control Protocol(TCP). 7 * 8 * Authors: Ross Biro --- 847 unchanged lines hidden (view full) --- 856 th->urg_ptr = 0; 857 858 /* The urg_mode check is necessary during a below snd_una win probe */ 859 if (unlikely(tcp_urg_mode(tp) && before(tcb->seq, tp->snd_up))) { 860 if (before(tp->snd_up, tcb->seq + 0x10000)) { 861 th->urg_ptr = htons(tp->snd_up - tcb->seq); 862 th->urg = 1; 863 } else if (after(tcb->seq + 0xFFFF, tp->snd_nxt)) { |
864 th->urg_ptr = 0xFFFF; | 864 th->urg_ptr = htons(0xFFFF); |
865 th->urg = 1; 866 } 867 } 868 869 tcp_options_write((__be32 *)(th + 1), tp, &opts); 870 if (likely((tcb->flags & TCPCB_FLAG_SYN) == 0)) 871 TCP_ECN_send(sk, skb, tcp_header_size); 872 --- 1607 unchanged lines hidden (view full) --- 2480 * Sequence and Acknowledgment Numbers, Initiator 2481 * Cookie, and others handled by IP variant caller. 2482 */ 2483 *tail-- ^= opts.tsval; 2484 *tail-- ^= tcp_rsk(req)->rcv_isn + 1; 2485 *tail-- ^= TCP_SKB_CB(skb)->seq + 1; 2486 2487 /* recommended */ | 865 th->urg = 1; 866 } 867 } 868 869 tcp_options_write((__be32 *)(th + 1), tp, &opts); 870 if (likely((tcb->flags & TCPCB_FLAG_SYN) == 0)) 871 TCP_ECN_send(sk, skb, tcp_header_size); 872 --- 1607 unchanged lines hidden (view full) --- 2480 * Sequence and Acknowledgment Numbers, Initiator 2481 * Cookie, and others handled by IP variant caller. 2482 */ 2483 *tail-- ^= opts.tsval; 2484 *tail-- ^= tcp_rsk(req)->rcv_isn + 1; 2485 *tail-- ^= TCP_SKB_CB(skb)->seq + 1; 2486 2487 /* recommended */ |
2488 *tail-- ^= ((th->dest << 16) | th->source); | 2488 *tail-- ^= (((__force u32)th->dest << 16) | (__force u32)th->source); |
2489 *tail-- ^= (u32)(unsigned long)cvp; /* per sockopt */ 2490 2491 sha_transform((__u32 *)&xvp->cookie_bakery[0], 2492 (char *)mess, 2493 &workspace[0]); 2494 opts.hash_location = 2495 (__u8 *)&xvp->cookie_bakery[0]; 2496 } --- 334 unchanged lines hidden --- | 2489 *tail-- ^= (u32)(unsigned long)cvp; /* per sockopt */ 2490 2491 sha_transform((__u32 *)&xvp->cookie_bakery[0], 2492 (char *)mess, 2493 &workspace[0]); 2494 opts.hash_location = 2495 (__u8 *)&xvp->cookie_bakery[0]; 2496 } --- 334 unchanged lines hidden --- |