/net/netfilter/ |
D | nf_conntrack_seqadj.c | 76 struct tcphdr *tcph, in nf_ct_sack_block_adjust() argument 106 inet_proto_csum_replace4(&tcph->check, skb, in nf_ct_sack_block_adjust() 108 inet_proto_csum_replace4(&tcph->check, skb, in nf_ct_sack_block_adjust() 122 struct tcphdr *tcph = (void *)skb->data + protoff; in nf_ct_sack_adjust() local 127 optend = protoff + tcph->doff * 4; in nf_ct_sack_adjust() 132 tcph = (void *)skb->data + protoff; in nf_ct_sack_adjust() 154 nf_ct_sack_block_adjust(skb, tcph, optoff + 2, in nf_ct_sack_adjust() 169 struct tcphdr *tcph; in nf_ct_seq_adjust() local 179 if (skb_ensure_writable(skb, protoff + sizeof(*tcph))) in nf_ct_seq_adjust() 182 tcph = (void *)skb->data + protoff; in nf_ct_seq_adjust() [all …]
|
D | nft_exthdr.c | 174 struct tcphdr *tcph; in nft_tcp_header_pointer() local 179 tcph = skb_header_pointer(pkt->skb, nft_thoff(pkt), sizeof(*tcph), buffer); in nft_tcp_header_pointer() 180 if (!tcph) in nft_tcp_header_pointer() 183 *tcphdr_len = __tcp_hdrlen(tcph); in nft_tcp_header_pointer() 184 if (*tcphdr_len < sizeof(*tcph) || *tcphdr_len > len) in nft_tcp_header_pointer() 198 struct tcphdr *tcph; in nft_exthdr_tcp_eval() local 201 tcph = nft_tcp_header_pointer(pkt, sizeof(buff), buff, &tcphdr_len); in nft_exthdr_tcp_eval() 202 if (!tcph) in nft_exthdr_tcp_eval() 205 opt = (u8 *)tcph; in nft_exthdr_tcp_eval() 206 for (i = sizeof(*tcph); i < tcphdr_len - 1; i += optl) { in nft_exthdr_tcp_eval() [all …]
|
D | xt_TCPMSS.c | 78 struct tcphdr *tcph; in tcpmss_mangle_packet() local 96 tcph = (struct tcphdr *)(skb_network_header(skb) + tcphoff); in tcpmss_mangle_packet() 97 tcp_hdrlen = tcph->doff * 4; in tcpmss_mangle_packet() 116 opt = (u_int8_t *)tcph; in tcpmss_mangle_packet() 133 inet_proto_csum_replace2(&tcph->check, skb, in tcpmss_mangle_packet() 159 tcph = (struct tcphdr *)(skb_network_header(skb) + tcphoff); in tcpmss_mangle_packet() 176 opt = (u_int8_t *)tcph + sizeof(struct tcphdr); in tcpmss_mangle_packet() 179 inet_proto_csum_replace2(&tcph->check, skb, in tcpmss_mangle_packet() 186 inet_proto_csum_replace4(&tcph->check, skb, 0, *((__be32 *)opt), false); in tcpmss_mangle_packet() 188 oldval = ((__be16 *)tcph)[6]; in tcpmss_mangle_packet() [all …]
|
D | xt_TCPOPTSTRIP.c | 34 struct tcphdr *tcph, _th; in tcpoptstrip_mangle_packet() local 44 tcph = skb_header_pointer(skb, tcphoff, sizeof(_th), &_th); in tcpoptstrip_mangle_packet() 45 if (!tcph) in tcpoptstrip_mangle_packet() 48 tcp_hdrlen = tcph->doff * 4; in tcpoptstrip_mangle_packet() 56 tcph = (struct tcphdr *)(skb_network_header(skb) + tcphoff); in tcpoptstrip_mangle_packet() 57 opt = (u8 *)tcph; in tcpoptstrip_mangle_packet() 79 inet_proto_csum_replace2(&tcph->check, skb, htons(o), in tcpoptstrip_mangle_packet()
|
D | nf_conntrack_proto_tcp.c | 269 static unsigned int get_conntrack_index(const struct tcphdr *tcph) in get_conntrack_index() argument 271 if (tcph->rst) return TCP_RST_SET; in get_conntrack_index() 272 else if (tcph->syn) return (tcph->ack ? TCP_SYNACK_SET : TCP_SYN_SET); in get_conntrack_index() 273 else if (tcph->fin) return TCP_FIN_SET; in get_conntrack_index() 274 else if (tcph->ack) return TCP_ACK_SET; in get_conntrack_index() 310 const struct tcphdr *tcph) in segment_seq_plus_len() argument 314 return (seq + len - dataoff - tcph->doff*4 in segment_seq_plus_len() 315 + (tcph->syn ? 1 : 0) + (tcph->fin ? 1 : 0)); in segment_seq_plus_len() 329 const struct tcphdr *tcph, in tcp_options() argument 334 int length = (tcph->doff*4) - sizeof(struct tcphdr); in tcp_options() [all …]
|
D | nf_nat_helper.c | 95 struct tcphdr *tcph; in __nf_nat_mangle_tcp_packet() local 106 tcph = (void *)skb->data + protoff; in __nf_nat_mangle_tcp_packet() 109 mangle_contents(skb, protoff + tcph->doff*4, in __nf_nat_mangle_tcp_packet() 115 tcph, &tcph->check, datalen, oldlen); in __nf_nat_mangle_tcp_packet() 118 nf_ct_seqadj_set(ct, ctinfo, tcph->seq, in __nf_nat_mangle_tcp_packet()
|
D | nf_flow_table_ip.c | 24 struct tcphdr *tcph; in nf_flow_state_check() local 29 tcph = (void *)(skb_network_header(skb) + thoff); in nf_flow_state_check() 30 if (unlikely(tcph->fin || tcph->rst)) { in nf_flow_state_check() 41 struct tcphdr *tcph; in nf_flow_nat_ip_tcp() local 43 tcph = (void *)(skb_network_header(skb) + thoff); in nf_flow_nat_ip_tcp() 44 inet_proto_csum_replace4(&tcph->check, skb, addr, new_addr, true); in nf_flow_nat_ip_tcp() 414 struct tcphdr *tcph; in nf_flow_nat_ipv6_tcp() local 416 tcph = (void *)(skb_network_header(skb) + thoff); in nf_flow_nat_ipv6_tcp() 417 inet_proto_csum_replace16(&tcph->check, skb, addr->s6_addr32, in nf_flow_nat_ipv6_tcp()
|
D | nft_flow_offload.c | 287 struct tcphdr _tcph, *tcph = NULL; in nft_flow_offload_eval() local 304 tcph = skb_header_pointer(pkt->skb, nft_thoff(pkt), in nft_flow_offload_eval() 306 if (unlikely(!tcph || tcph->fin || tcph->rst || in nft_flow_offload_eval() 336 if (tcph) { in nft_flow_offload_eval()
|
D | nf_conntrack_pptp.c | 521 const struct tcphdr *tcph; in conntrack_pptp_help() local 546 tcph = skb_header_pointer(skb, nexthdr_off, sizeof(_tcph), &_tcph); in conntrack_pptp_help() 547 if (!tcph) in conntrack_pptp_help() 550 nexthdr_off += tcph->doff * 4; in conntrack_pptp_help() 551 datalen = tcplen - tcph->doff * 4; in conntrack_pptp_help()
|
D | nf_flow_table_core.c | 449 struct tcphdr *tcph; in nf_flow_nat_port_tcp() local 451 tcph = (void *)(skb_network_header(skb) + thoff); in nf_flow_nat_port_tcp() 452 inet_proto_csum_replace2(&tcph->check, skb, port, new_port, false); in nf_flow_nat_port_tcp()
|
/net/ipv4/netfilter/ |
D | ipt_ECN.c | 47 struct tcphdr _tcph, *tcph; in set_ect_tcp() local 51 tcph = skb_header_pointer(skb, ip_hdrlen(skb), sizeof(_tcph), &_tcph); in set_ect_tcp() 52 if (!tcph) in set_ect_tcp() 56 tcph->ece == einfo->proto.tcp.ece) && in set_ect_tcp() 58 tcph->cwr == einfo->proto.tcp.cwr)) in set_ect_tcp() 61 if (skb_ensure_writable(skb, ip_hdrlen(skb) + sizeof(*tcph))) in set_ect_tcp() 63 tcph = (void *)ip_hdr(skb) + ip_hdrlen(skb); in set_ect_tcp() 65 oldval = ((__be16 *)tcph)[6]; in set_ect_tcp() 67 tcph->ece = einfo->proto.tcp.ece; in set_ect_tcp() 69 tcph->cwr = einfo->proto.tcp.cwr; in set_ect_tcp() [all …]
|
D | nf_reject_ipv4.c | 195 struct tcphdr *tcph; in nf_reject_ip_tcphdr_put() local 198 tcph = skb_put_zero(nskb, sizeof(struct tcphdr)); in nf_reject_ip_tcphdr_put() 199 tcph->source = oth->dest; in nf_reject_ip_tcphdr_put() 200 tcph->dest = oth->source; in nf_reject_ip_tcphdr_put() 201 tcph->doff = sizeof(struct tcphdr) / 4; in nf_reject_ip_tcphdr_put() 204 tcph->seq = oth->ack_seq; in nf_reject_ip_tcphdr_put() 206 tcph->ack_seq = htonl(ntohl(oth->seq) + oth->syn + oth->fin + in nf_reject_ip_tcphdr_put() 209 tcph->ack = 1; in nf_reject_ip_tcphdr_put() 212 tcph->rst = 1; in nf_reject_ip_tcphdr_put() 213 tcph->check = ~tcp_v4_check(sizeof(struct tcphdr), niph->saddr, in nf_reject_ip_tcphdr_put() [all …]
|
/net/netfilter/ipvs/ |
D | ip_vs_proto_tcp.c | 105 tcp_fast_csum_update(int af, struct tcphdr *tcph, in tcp_fast_csum_update() argument 112 tcph->check = in tcp_fast_csum_update() 115 ~csum_unfold(tcph->check)))); in tcp_fast_csum_update() 118 tcph->check = in tcp_fast_csum_update() 121 ~csum_unfold(tcph->check)))); in tcp_fast_csum_update() 126 tcp_partial_csum_update(int af, struct tcphdr *tcph, in tcp_partial_csum_update() argument 133 tcph->check = in tcp_partial_csum_update() 136 csum_unfold(tcph->check)))); in tcp_partial_csum_update() 139 tcph->check = in tcp_partial_csum_update() 142 csum_unfold(tcph->check)))); in tcp_partial_csum_update() [all …]
|
/net/ipv6/netfilter/ |
D | nf_reject_ipv6.c | 225 struct tcphdr *tcph; in nf_reject_ip6_tcphdr_put() local 229 tcph = skb_put(nskb, sizeof(struct tcphdr)); in nf_reject_ip6_tcphdr_put() 231 tcph->doff = sizeof(struct tcphdr)/4; in nf_reject_ip6_tcphdr_put() 232 tcph->source = oth->dest; in nf_reject_ip6_tcphdr_put() 233 tcph->dest = oth->source; in nf_reject_ip6_tcphdr_put() 237 tcph->seq = oth->ack_seq; in nf_reject_ip6_tcphdr_put() 238 tcph->ack_seq = 0; in nf_reject_ip6_tcphdr_put() 241 tcph->ack_seq = htonl(ntohl(oth->seq) + oth->syn + oth->fin + in nf_reject_ip6_tcphdr_put() 243 tcph->seq = 0; in nf_reject_ip6_tcphdr_put() 247 ((u_int8_t *)tcph)[13] = 0; in nf_reject_ip6_tcphdr_put() [all …]
|
/net/core/ |
D | tso.c | 36 struct tcphdr *tcph = (struct tcphdr *)hdr; in tso_build_hdr() local 38 put_unaligned_be32(tso->tcp_seq, &tcph->seq); in tso_build_hdr() 42 tcph->psh = 0; in tso_build_hdr() 43 tcph->fin = 0; in tso_build_hdr() 44 tcph->rst = 0; in tso_build_hdr()
|
/net/sched/ |
D | act_csum.c | 208 struct tcphdr *tcph; in tcf_csum_ipv4_tcp() local 214 tcph = tcf_csum_skb_nextlayer(skb, ihl, ipl, sizeof(*tcph)); in tcf_csum_ipv4_tcp() 215 if (tcph == NULL) in tcf_csum_ipv4_tcp() 219 tcph->check = 0; in tcf_csum_ipv4_tcp() 220 skb->csum = csum_partial(tcph, ipl - ihl, 0); in tcf_csum_ipv4_tcp() 221 tcph->check = tcp_v4_check(ipl - ihl, in tcf_csum_ipv4_tcp() 232 struct tcphdr *tcph; in tcf_csum_ipv6_tcp() local 238 tcph = tcf_csum_skb_nextlayer(skb, ihl, ipl, sizeof(*tcph)); in tcf_csum_ipv6_tcp() 239 if (tcph == NULL) in tcf_csum_ipv6_tcp() 243 tcph->check = 0; in tcf_csum_ipv6_tcp() [all …]
|
D | act_nat.c | 169 struct tcphdr *tcph; in tcf_nat_act() local 171 if (!pskb_may_pull(skb, ihl + sizeof(*tcph) + noff) || in tcf_nat_act() 172 skb_try_make_writable(skb, ihl + sizeof(*tcph) + noff)) in tcf_nat_act() 175 tcph = (void *)(skb_network_header(skb) + ihl); in tcf_nat_act() 176 inet_proto_csum_replace4(&tcph->check, skb, addr, new_addr, in tcf_nat_act()
|
D | sch_cake.c | 906 const struct tcphdr *tcph; in cake_get_tcphdr() local 945 tcph = skb_header_pointer(skb, offset, sizeof(_tcph), &_tcph); in cake_get_tcphdr() 946 if (!tcph || tcph->doff < 5) in cake_get_tcphdr() 950 min(__tcp_hdrlen(tcph), bufsize), buf); in cake_get_tcphdr() 953 static const void *cake_get_tcpopt(const struct tcphdr *tcph, in cake_get_tcpopt() argument 957 int length = __tcp_hdrlen(tcph) - sizeof(struct tcphdr); in cake_get_tcpopt() 958 const u8 *ptr = (const u8 *)(tcph + 1); in cake_get_tcpopt() 1065 static void cake_tcph_get_tstamp(const struct tcphdr *tcph, in cake_tcph_get_tstamp() argument 1071 ptr = cake_get_tcpopt(tcph, TCPOPT_TIMESTAMP, &opsize); in cake_tcph_get_tstamp() 1079 static bool cake_tcph_may_drop(const struct tcphdr *tcph, in cake_tcph_may_drop() argument [all …]
|
D | act_ct.c | 421 struct tcphdr **tcph) in tcf_ct_flow_table_fill_tuple_ipv4() argument 451 *tcph = (void *)(skb_network_header(skb) + thoff); in tcf_ct_flow_table_fill_tuple_ipv4() 467 struct tcphdr **tcph) in tcf_ct_flow_table_fill_tuple_ipv6() argument 493 *tcph = (void *)(skb_network_header(skb) + thoff); in tcf_ct_flow_table_fill_tuple_ipv6() 514 struct tcphdr *tcph = NULL; in tcf_ct_flow_table_lookup() local 521 if (!tcf_ct_flow_table_fill_tuple_ipv4(skb, &tuple, &tcph)) in tcf_ct_flow_table_lookup() 525 if (!tcf_ct_flow_table_fill_tuple_ipv6(skb, &tuple, &tcph)) in tcf_ct_flow_table_lookup() 540 if (tcph && (unlikely(tcph->fin || tcph->rst))) { in tcf_ct_flow_table_lookup()
|
/net/ipv4/ |
D | route.c | 3200 struct tcphdr *tcph; in inet_rtm_getroute_build_skb() local 3202 tcph = skb_put_zero(skb, sizeof(struct tcphdr)); in inet_rtm_getroute_build_skb() 3203 tcph->source = sport; in inet_rtm_getroute_build_skb() 3204 tcph->dest = dport; in inet_rtm_getroute_build_skb() 3205 tcph->doff = sizeof(struct tcphdr) / 4; in inet_rtm_getroute_build_skb() 3206 tcph->rst = 1; in inet_rtm_getroute_build_skb() 3207 tcph->check = ~tcp_v4_check(sizeof(struct tcphdr), in inet_rtm_getroute_build_skb()
|