Lines Matching refs:ip6h

420 	struct ipv6hdr *ip6h;  in br_ip6_multicast_alloc_query()  local
426 skb = netdev_alloc_skb_ip_align(br->dev, sizeof(*eth) + sizeof(*ip6h) + in br_ip6_multicast_alloc_query()
443 ip6h = ipv6_hdr(skb); in br_ip6_multicast_alloc_query()
445 *(__force __be32 *)ip6h = htonl(0x60000000); in br_ip6_multicast_alloc_query()
446 ip6h->payload_len = htons(8 + sizeof(*mldq)); in br_ip6_multicast_alloc_query()
447 ip6h->nexthdr = IPPROTO_HOPOPTS; in br_ip6_multicast_alloc_query()
448 ip6h->hop_limit = 1; in br_ip6_multicast_alloc_query()
449 ipv6_addr_set(&ip6h->daddr, htonl(0xff020000), 0, 0, htonl(1)); in br_ip6_multicast_alloc_query()
450 if (ipv6_dev_get_saddr(dev_net(br->dev), br->dev, &ip6h->daddr, 0, in br_ip6_multicast_alloc_query()
451 &ip6h->saddr)) { in br_ip6_multicast_alloc_query()
455 ipv6_eth_mc_map(&ip6h->daddr, eth->h_dest); in br_ip6_multicast_alloc_query()
457 hopopt = (u8 *)(ip6h + 1); in br_ip6_multicast_alloc_query()
467 skb_put(skb, sizeof(*ip6h) + 8); in br_ip6_multicast_alloc_query()
485 mldq->mld_cksum = csum_ipv6_magic(&ip6h->saddr, &ip6h->daddr, in br_ip6_multicast_alloc_query()
1313 const struct ipv6hdr *ip6h = ipv6_hdr(skb); in br_ip6_multicast_query() local
1332 if (!(ipv6_addr_type(&ip6h->saddr) & IPV6_ADDR_LINKLOCAL)) { in br_ip6_multicast_query()
1363 if (is_general_query && !ipv6_addr_is_ll_all_nodes(&ip6h->daddr)) { in br_ip6_multicast_query()
1370 saddr.u.ip6 = ip6h->saddr; in br_ip6_multicast_query()
1660 const struct ipv6hdr *ip6h; in br_multicast_ipv6_rcv() local
1668 if (!pskb_may_pull(skb, sizeof(*ip6h))) in br_multicast_ipv6_rcv()
1671 ip6h = ipv6_hdr(skb); in br_multicast_ipv6_rcv()
1679 if (ip6h->version != 6) in br_multicast_ipv6_rcv()
1683 if (!ipv6_addr_is_ll_all_nodes(&ip6h->daddr)) in br_multicast_ipv6_rcv()
1686 if (ip6h->nexthdr != IPPROTO_HOPOPTS || in br_multicast_ipv6_rcv()
1687 ip6h->payload_len == 0) in br_multicast_ipv6_rcv()
1690 len = ntohs(ip6h->payload_len) + sizeof(*ip6h); in br_multicast_ipv6_rcv()
1694 nexthdr = ip6h->nexthdr; in br_multicast_ipv6_rcv()
1695 offset = ipv6_skip_exthdr(skb, sizeof(*ip6h), &nexthdr, &frag_off); in br_multicast_ipv6_rcv()
1737 ip6h = ipv6_hdr(skb2); in br_multicast_ipv6_rcv()
1741 if (!csum_ipv6_magic(&ip6h->saddr, &ip6h->daddr, skb2->len, in br_multicast_ipv6_rcv()
1746 skb2->csum = ~csum_unfold(csum_ipv6_magic(&ip6h->saddr, in br_multicast_ipv6_rcv()
1747 &ip6h->daddr, in br_multicast_ipv6_rcv()