Lines Matching refs:top_iph
226 struct iphdr *top_iph; in xfrm4_beet_encap_add() local
235 (XFRM_MODE_SKB_CB(skb)->ihl - sizeof(*top_iph))); in xfrm4_beet_encap_add()
240 skb->transport_header = skb->network_header + sizeof(*top_iph); in xfrm4_beet_encap_add()
246 top_iph = ip_hdr(skb); in xfrm4_beet_encap_add()
254 ph->nexthdr = top_iph->protocol; in xfrm4_beet_encap_add()
258 top_iph->protocol = IPPROTO_BEETPH; in xfrm4_beet_encap_add()
259 top_iph->ihl = sizeof(struct iphdr) / 4; in xfrm4_beet_encap_add()
262 top_iph->saddr = x->props.saddr.a4; in xfrm4_beet_encap_add()
263 top_iph->daddr = x->id.daddr.a4; in xfrm4_beet_encap_add()
276 struct iphdr *top_iph; in xfrm4_tunnel_encap_add() local
285 skb->transport_header = skb->network_header + sizeof(*top_iph); in xfrm4_tunnel_encap_add()
286 top_iph = ip_hdr(skb); in xfrm4_tunnel_encap_add()
288 top_iph->ihl = 5; in xfrm4_tunnel_encap_add()
289 top_iph->version = 4; in xfrm4_tunnel_encap_add()
291 top_iph->protocol = xfrm_af2proto(skb_dst(skb)->ops->family); in xfrm4_tunnel_encap_add()
295 top_iph->tos = 0; in xfrm4_tunnel_encap_add()
297 top_iph->tos = XFRM_MODE_SKB_CB(skb)->tos; in xfrm4_tunnel_encap_add()
298 top_iph->tos = INET_ECN_encapsulate(top_iph->tos, in xfrm4_tunnel_encap_add()
303 IP_ECN_clear(top_iph); in xfrm4_tunnel_encap_add()
305 top_iph->frag_off = (flags & XFRM_STATE_NOPMTUDISC) || small_ipv6 ? in xfrm4_tunnel_encap_add()
308 top_iph->ttl = ip4_dst_hoplimit(xfrm_dst_child(dst)); in xfrm4_tunnel_encap_add()
310 top_iph->saddr = x->props.saddr.a4; in xfrm4_tunnel_encap_add()
311 top_iph->daddr = x->id.daddr.a4; in xfrm4_tunnel_encap_add()
321 struct ipv6hdr *top_iph; in xfrm6_tunnel_encap_add() local
330 skb->transport_header = skb->network_header + sizeof(*top_iph); in xfrm6_tunnel_encap_add()
331 top_iph = ipv6_hdr(skb); in xfrm6_tunnel_encap_add()
333 top_iph->version = 6; in xfrm6_tunnel_encap_add()
335 memcpy(top_iph->flow_lbl, XFRM_MODE_SKB_CB(skb)->flow_lbl, in xfrm6_tunnel_encap_add()
336 sizeof(top_iph->flow_lbl)); in xfrm6_tunnel_encap_add()
337 top_iph->nexthdr = xfrm_af2proto(skb_dst(skb)->ops->family); in xfrm6_tunnel_encap_add()
346 ipv6_change_dsfield(top_iph, 0, dsfield); in xfrm6_tunnel_encap_add()
347 top_iph->hop_limit = ip6_dst_hoplimit(xfrm_dst_child(dst)); in xfrm6_tunnel_encap_add()
348 top_iph->saddr = *(struct in6_addr *)&x->props.saddr; in xfrm6_tunnel_encap_add()
349 top_iph->daddr = *(struct in6_addr *)&x->id.daddr; in xfrm6_tunnel_encap_add()
355 struct ipv6hdr *top_iph; in xfrm6_beet_encap_add() local
369 skb->transport_header = skb->network_header + sizeof(*top_iph); in xfrm6_beet_encap_add()
374 top_iph = ipv6_hdr(skb); in xfrm6_beet_encap_add()
381 ph->nexthdr = top_iph->nexthdr; in xfrm6_beet_encap_add()
385 top_iph->nexthdr = IPPROTO_BEETPH; in xfrm6_beet_encap_add()
388 top_iph->saddr = *(struct in6_addr *)&x->props.saddr; in xfrm6_beet_encap_add()
389 top_iph->daddr = *(struct in6_addr *)&x->id.daddr; in xfrm6_beet_encap_add()