staticinlinevoidupdate_tp_pseudo_csum_4(struct sk_buff *skb, struct iphdr *ip,const__u32 old_addr,const__u32 new_addr){const__u8 *l4h = &((__u8*)ip)[ip->ihl <<2];if(ip->protocol == IPPROTO_TCP) {structtcphdr*tcp= (structtcphdr*)l4h;inet_proto_csum_replace4(&tcp->chec...
(skb->encapsulation) { skb_set_inner_protocol(skb, cpu_to_be16(ETH_P_IP)); skb_set_inner_network_header(skb, nhoff); } csum_replace2(&iph->check, iph->tot_len, newlen); iph->tot_len = newlen; rcu_read_lock(); ops = rcu_dereference(inet_offloads[proto]); if (WARN_ON(...
fragheaderlen;intexthdrlen;inthh_len;intmtu;intcopy;interr;intoffset =0;intcsummode = CHECKSUM_NONE;if(flags&MSG_PROBE)return0;if(skb_queue_empty(&sk->sk_write_queue)) {/*
int proto = iph->protocol; int err = -ENOSYS; if (skb->encapsulation) { skb_set_inner_protocol(skb, cpu_to_be16(ETH_P_IP)); skb_set_inner_network_header(skb, nhoff); } iph_set_totlen(iph, skb->len - nhoff); csum_replace2(&iph->check, totlen, iph->tot_len); ops = ...
(skb->data + nhoff); const struct net_offload *ops; int proto = iph->protocol; int err = -ENOSYS; if (skb->encapsulation) { skb_set_inner_protocol(skb, cpu_to_be16(ETH_P_IP)); skb_set_inner_network_header(skb, nhoff); } csum_replace2(&iph->check, iph->tot_len, new...