Lines Matching refs:iph

519 	struct iphdr *iph;  in amt_build_igmp_gq()  local
523 len = hlen + tlen + sizeof(*iph) + AMT_IPHDR_OPTS + sizeof(*ihv3); in amt_build_igmp_gq()
533 skb_put(skb, sizeof(*iph)); in amt_build_igmp_gq()
539 iph = ip_hdr(skb); in amt_build_igmp_gq()
540 iph->version = 4; in amt_build_igmp_gq()
541 iph->ihl = (sizeof(struct iphdr) + AMT_IPHDR_OPTS) >> 2; in amt_build_igmp_gq()
542 iph->tos = AMT_TOS; in amt_build_igmp_gq()
543 iph->tot_len = htons(sizeof(*iph) + AMT_IPHDR_OPTS + sizeof(*ihv3)); in amt_build_igmp_gq()
544 iph->frag_off = htons(IP_DF); in amt_build_igmp_gq()
545 iph->ttl = 1; in amt_build_igmp_gq()
546 iph->id = 0; in amt_build_igmp_gq()
547 iph->protocol = IPPROTO_IGMP; in amt_build_igmp_gq()
548 iph->daddr = htonl(INADDR_ALLHOSTS_GROUP); in amt_build_igmp_gq()
549 iph->saddr = htonl(INADDR_ANY); in amt_build_igmp_gq()
550 ip_send_check(iph); in amt_build_igmp_gq()
557 ihv3 = skb_pull(skb, sizeof(*iph) + AMT_IPHDR_OPTS); in amt_build_igmp_gq()
575 skb_push(skb, sizeof(*eth) + sizeof(*iph) + AMT_IPHDR_OPTS); in amt_build_igmp_gq()
618 struct iphdr *iph; in amt_send_discovery() local
644 len = hlen + tlen + sizeof(*iph) + sizeof(*udph) + sizeof(*amtd); in amt_send_discovery()
655 len = sizeof(*iph) + sizeof(*udph) + sizeof(*amtd); in amt_send_discovery()
658 amtd = skb_pull(skb, sizeof(*iph) + sizeof(*udph)); in amt_send_discovery()
676 skb_push(skb, sizeof(*iph)); in amt_send_discovery()
677 iph = ip_hdr(skb); in amt_send_discovery()
678 iph->version = 4; in amt_send_discovery()
679 iph->ihl = (sizeof(struct iphdr)) >> 2; in amt_send_discovery()
680 iph->tos = AMT_TOS; in amt_send_discovery()
681 iph->frag_off = 0; in amt_send_discovery()
682 iph->ttl = ip4_dst_hoplimit(&rt->dst); in amt_send_discovery()
683 iph->daddr = amt->discovery_ip; in amt_send_discovery()
684 iph->saddr = amt->local_ip; in amt_send_discovery()
685 iph->protocol = IPPROTO_UDP; in amt_send_discovery()
686 iph->tot_len = htons(len); in amt_send_discovery()
690 ip_send_check(iph); in amt_send_discovery()
707 struct iphdr *iph; in amt_send_request() local
733 len = hlen + tlen + sizeof(*iph) + sizeof(*udph) + sizeof(*amtrh); in amt_send_request()
744 len = sizeof(*iph) + sizeof(*udph) + sizeof(*amtrh); in amt_send_request()
747 amtrh = skb_pull(skb, sizeof(*iph) + sizeof(*udph)); in amt_send_request()
767 skb_push(skb, sizeof(*iph)); in amt_send_request()
768 iph = ip_hdr(skb); in amt_send_request()
769 iph->version = 4; in amt_send_request()
770 iph->ihl = (sizeof(struct iphdr)) >> 2; in amt_send_request()
771 iph->tos = AMT_TOS; in amt_send_request()
772 iph->frag_off = 0; in amt_send_request()
773 iph->ttl = ip4_dst_hoplimit(&rt->dst); in amt_send_request()
774 iph->daddr = amt->remote_ip; in amt_send_request()
775 iph->saddr = amt->local_ip; in amt_send_request()
776 iph->protocol = IPPROTO_UDP; in amt_send_request()
777 iph->tot_len = htons(len); in amt_send_request()
781 ip_send_check(iph); in amt_send_request()
1002 struct iphdr *iph; in amt_send_membership_update() local
1012 sizeof(*iph) + sizeof(struct udphdr)); in amt_send_membership_update()
1063 struct iphdr *iph; in amt_send_multicast_data() local
1071 skb = skb_copy_expand(oskb, sizeof(*amtmd) + sizeof(*iph) + in amt_send_multicast_data()
1185 struct iphdr *iph; in amt_dev_xmit() local
1190 iph = ip_hdr(skb); in amt_dev_xmit()
1191 if (iph->version == 4) { in amt_dev_xmit()
1192 if (!ipv4_is_multicast(iph->daddr)) in amt_dev_xmit()
1212 group.ip4 = iph->daddr; in amt_dev_xmit()
1214 } else if (iph->version == 6) { in amt_dev_xmit()
1279 if (gnode->group_addr.ip4 == iph->daddr) in amt_dev_xmit()
1944 struct iphdr *iph = ip_hdr(skb); in amt_igmpv2_report_handler() local
1951 host.ip4 = iph->saddr; in amt_igmpv2_report_handler()
1981 struct iphdr *iph = ip_hdr(skb); in amt_igmpv2_leave_handler() local
1988 host.ip4 = iph->saddr; in amt_igmpv2_leave_handler()
2001 struct iphdr *iph = ip_hdr(skb); in amt_igmpv3_report_handler() local
2023 host.ip4 = iph->saddr; in amt_igmpv3_report_handler()
2142 struct iphdr *iph = ip_hdr(skb); in amt_mldv1_leave_handler() local
2148 host.ip4 = iph->saddr; in amt_mldv1_leave_handler()
2286 struct iphdr *iph; in amt_multicast_data_handler() local
2308 if (!pskb_may_pull(skb, sizeof(*iph))) in amt_multicast_data_handler()
2310 iph = ip_hdr(skb); in amt_multicast_data_handler()
2312 if (iph->version == 4) { in amt_multicast_data_handler()
2313 if (!ipv4_is_multicast(iph->daddr)) in amt_multicast_data_handler()
2317 ip_eth_mc_map(iph->daddr, eth->h_dest); in amt_multicast_data_handler()
2319 } else if (iph->version == 6) { in amt_multicast_data_handler()
2354 struct iphdr *iph; in amt_membership_query_handler() local
2377 if (!pskb_may_pull(skb, sizeof(*iph))) in amt_membership_query_handler()
2380 iph = ip_hdr(skb); in amt_membership_query_handler()
2381 if (iph->version == 4) { in amt_membership_query_handler()
2385 if (!pskb_may_pull(skb, sizeof(*iph) + AMT_IPHDR_OPTS + in amt_membership_query_handler()
2389 if (!ipv4_is_multicast(iph->daddr)) in amt_membership_query_handler()
2392 ihv3 = skb_pull(skb, sizeof(*iph) + AMT_IPHDR_OPTS); in amt_membership_query_handler()
2394 skb_push(skb, sizeof(*iph) + AMT_IPHDR_OPTS); in amt_membership_query_handler()
2401 ip_eth_mc_map(iph->daddr, eth->h_dest); in amt_membership_query_handler()
2403 } else if (iph->version == 6) { in amt_membership_query_handler()
2454 struct iphdr *iph; in amt_update_handler() local
2457 iph = ip_hdr(skb); in amt_update_handler()
2473 if (tunnel->ip4 == iph->saddr) { in amt_update_handler()
2490 if (!pskb_may_pull(skb, sizeof(*iph))) in amt_update_handler()
2493 iph = ip_hdr(skb); in amt_update_handler()
2494 if (iph->version == 4) { in amt_update_handler()
2509 ip_eth_mc_map(iph->daddr, eth->h_dest); in amt_update_handler()
2511 } else if (iph->version == 6) { in amt_update_handler()
2558 struct iphdr *iph; in amt_send_advertisement() local
2584 len = hlen + tlen + sizeof(*iph) + sizeof(*udph) + sizeof(*amta); in amt_send_advertisement()
2595 len = sizeof(*iph) + sizeof(*udph) + sizeof(*amta); in amt_send_advertisement()
2598 amta = skb_pull(skb, sizeof(*iph) + sizeof(*udph)); in amt_send_advertisement()
2617 skb_push(skb, sizeof(*iph)); in amt_send_advertisement()
2618 iph = ip_hdr(skb); in amt_send_advertisement()
2619 iph->version = 4; in amt_send_advertisement()
2620 iph->ihl = (sizeof(struct iphdr)) >> 2; in amt_send_advertisement()
2621 iph->tos = AMT_TOS; in amt_send_advertisement()
2622 iph->frag_off = 0; in amt_send_advertisement()
2623 iph->ttl = ip4_dst_hoplimit(&rt->dst); in amt_send_advertisement()
2624 iph->daddr = daddr; in amt_send_advertisement()
2625 iph->saddr = amt->local_ip; in amt_send_advertisement()
2626 iph->protocol = IPPROTO_UDP; in amt_send_advertisement()
2627 iph->tot_len = htons(len); in amt_send_advertisement()
2631 ip_send_check(iph); in amt_send_advertisement()
2644 struct iphdr *iph; in amt_discovery_handler() local
2649 iph = ip_hdr(skb); in amt_discovery_handler()
2656 amt_send_advertisement(amt, amtd->nonce, iph->saddr, udph->source); in amt_discovery_handler()
2667 struct iphdr *iph; in amt_request_handler() local
2674 iph = ip_hdr(skb); in amt_request_handler()
2682 if (tunnel->ip4 == iph->saddr) in amt_request_handler()
2701 tunnel->ip4 = iph->saddr; in amt_request_handler()
2773 struct iphdr *iph; in amt_rcv() local
2786 iph = ip_hdr(skb); in amt_rcv()
2796 if (iph->saddr != amt->discovery_ip) { in amt_rcv()
2808 if (iph->saddr != amt->remote_ip) { in amt_rcv()
2819 if (iph->saddr != amt->remote_ip) { in amt_rcv()