Lines Matching refs:ipv6h
372 const struct ipv6hdr *ipv6h = (const struct ipv6hdr *)skb->data; in ip6gre_err() local
392 ipv6h = (const struct ipv6hdr *)skb->data; in ip6gre_err()
395 t = ip6gre_tunnel_lookup(skb->dev, &ipv6h->daddr, &ipv6h->saddr, in ip6gre_err()
449 const struct ipv6hdr *ipv6h; in ip6gre_rcv() local
463 ipv6h = ipv6_hdr(skb); in ip6gre_rcv()
491 &ipv6h->saddr, &ipv6h->daddr, key, in ip6gre_rcv()
499 if (!ip6_tnl_rcv_ctl(tunnel, &ipv6h->daddr, &ipv6h->saddr)) { in ip6gre_rcv()
544 ipv6h = ipv6_hdr(skb); in ip6gre_rcv()
553 err = IP6_ECN_decapsulate(ipv6h, skb); in ip6gre_rcv()
557 &ipv6h->saddr, in ip6gre_rcv()
558 ipv6_get_dsfield(ipv6h)); in ip6gre_rcv()
612 struct ipv6hdr *ipv6h; /* Our new IP header */ in ip6gre_xmit2() local
629 ipv6h = (struct ipv6hdr *)skb->data; in ip6gre_xmit2()
630 fl6->daddr = ipv6h->daddr; in ip6gre_xmit2()
662 mtu = dst_mtu(dst) - sizeof(*ipv6h); in ip6gre_xmit2()
725 skb_set_transport_header(skb, sizeof(*ipv6h)); in ip6gre_xmit2()
730 ipv6h = ipv6_hdr(skb); in ip6gre_xmit2()
731 ip6_flow_hdr(ipv6h, INET_ECN_encapsulate(0, dsfield), in ip6gre_xmit2()
733 ipv6h->hop_limit = tunnel->parms.hop_limit; in ip6gre_xmit2()
734 ipv6h->nexthdr = proto; in ip6gre_xmit2()
735 ipv6h->saddr = fl6->saddr; in ip6gre_xmit2()
736 ipv6h->daddr = fl6->daddr; in ip6gre_xmit2()
738 ((__be16 *)(ipv6h + 1))[0] = tunnel->parms.o_flags; in ip6gre_xmit2()
741 ((__be16 *)(ipv6h + 1))[1] = protocol; in ip6gre_xmit2()
744 __be32 *ptr = (__be32 *)(((u8 *)ipv6h) + tunnel->hlen - 4); in ip6gre_xmit2()
757 *(__sum16 *)ptr = ip_compute_csum((void *)(ipv6h+1), in ip6gre_xmit2()
815 struct ipv6hdr *ipv6h = ipv6_hdr(skb); in ip6gre_xmit_ipv6() local
823 if (ipv6_addr_equal(&t->parms.raddr, &ipv6h->saddr)) in ip6gre_xmit_ipv6()
842 dsfield = ipv6_get_dsfield(ipv6h); in ip6gre_xmit_ipv6()
844 fl6.flowlabel |= (*(__be32 *) ipv6h & IPV6_TCLASS_MASK); in ip6gre_xmit_ipv6()
846 fl6.flowlabel |= ip6_flowlabel(ipv6h); in ip6gre_xmit_ipv6()
1181 struct ipv6hdr *ipv6h = (struct ipv6hdr *)skb_push(skb, t->hlen); in ip6gre_header() local
1182 __be16 *p = (__be16 *)(ipv6h+1); in ip6gre_header()
1184 ip6_flow_hdr(ipv6h, 0, in ip6gre_header()
1187 ipv6h->hop_limit = t->parms.hop_limit; in ip6gre_header()
1188 ipv6h->nexthdr = NEXTHDR_GRE; in ip6gre_header()
1189 ipv6h->saddr = t->parms.laddr; in ip6gre_header()
1190 ipv6h->daddr = t->parms.raddr; in ip6gre_header()
1200 memcpy(&ipv6h->saddr, saddr, sizeof(struct in6_addr)); in ip6gre_header()
1202 memcpy(&ipv6h->daddr, daddr, sizeof(struct in6_addr)); in ip6gre_header()
1203 if (!ipv6_addr_any(&ipv6h->daddr)) in ip6gre_header()