Lines Matching refs:iph
108 if (local == t->parms.iph.saddr && in ipip6_tunnel_lookup()
109 remote == t->parms.iph.daddr && in ipip6_tunnel_lookup()
116 if (remote == t->parms.iph.daddr && in ipip6_tunnel_lookup()
123 if (local == t->parms.iph.saddr && in ipip6_tunnel_lookup()
138 __be32 remote = parms->iph.daddr; in __ipip6_bucket()
139 __be32 local = parms->iph.saddr; in __ipip6_bucket()
207 memcpy(dev->dev_addr, &t->parms.iph.saddr, 4); in ipip6_tunnel_create()
208 memcpy(dev->broadcast, &t->parms.iph.daddr, 4); in ipip6_tunnel_create()
231 __be32 remote = parms->iph.daddr; in ipip6_tunnel_locate()
232 __be32 local = parms->iph.saddr; in ipip6_tunnel_locate()
242 if (local == t->parms.iph.saddr && in ipip6_tunnel_locate()
243 remote == t->parms.iph.daddr && in ipip6_tunnel_locate()
483 isatap_chksrc(struct sk_buff *skb, const struct iphdr *iph, struct ip_tunnel *t) in isatap_chksrc() argument
489 p = __ipip6_tunnel_locate_prl(t, iph->saddr); in isatap_chksrc()
499 (addr6->s6_addr32[3] == iph->saddr) && in isatap_chksrc()
526 const struct iphdr *iph = (const struct iphdr *)skb->data; in ipip6_err() local
565 iph->daddr, iph->saddr, sifindex); in ipip6_err()
571 t->parms.link, iph->protocol); in ipip6_err()
577 iph->protocol); in ipip6_err()
584 !ip6_err_gen_icmpv6_unreach(skb, iph->ihl * 4, type, data_len)) in ipip6_err()
587 if (t->parms.iph.daddr == 0) in ipip6_err()
590 if (t->parms.iph.ttl == 0 && type == ICMP_TIME_EXCEEDED) in ipip6_err()
639 const struct iphdr *iph, in packet_is_spoofed() argument
645 if (!isatap_chksrc(skb, iph, tunnel)) in packet_is_spoofed()
656 if (unlikely(is_spoofed_6rd(tunnel, iph->saddr, &ipv6h->saddr))) { in packet_is_spoofed()
658 &iph->saddr, &ipv6h->saddr, in packet_is_spoofed()
659 &iph->daddr, &ipv6h->daddr); in packet_is_spoofed()
663 if (likely(!is_spoofed_6rd(tunnel, iph->daddr, &ipv6h->daddr))) in packet_is_spoofed()
670 &iph->saddr, &ipv6h->saddr, in packet_is_spoofed()
671 &iph->daddr, &ipv6h->daddr); in packet_is_spoofed()
677 const struct iphdr *iph = ip_hdr(skb); in ipip6_rcv() local
684 iph->saddr, iph->daddr, sifindex); in ipip6_rcv()
688 if (tunnel->parms.iph.protocol != IPPROTO_IPV6 && in ipip6_rcv()
689 tunnel->parms.iph.protocol != 0) in ipip6_rcv()
697 if (packet_is_spoofed(skb, iph, tunnel)) { in ipip6_rcv()
709 iph = (const struct iphdr *)skb_mac_header(skb); in ipip6_rcv()
710 err = IP_ECN_decapsulate(iph, skb); in ipip6_rcv()
714 &iph->saddr, iph->tos); in ipip6_rcv()
754 const struct iphdr *iph; in sit_tunnel_rcv() local
760 iph = ip_hdr(skb); in sit_tunnel_rcv()
762 iph->saddr, iph->daddr, sifindex); in sit_tunnel_rcv()
766 if (tunnel->parms.iph.protocol != ipproto && in sit_tunnel_rcv()
767 tunnel->parms.iph.protocol != 0) in sit_tunnel_rcv()
858 const struct iphdr *tiph = &tunnel->parms.iph; in ipip6_tunnel_xmit()
860 u8 tos = tunnel->parms.iph.tos; in ipip6_tunnel_xmit()
984 if (tunnel->parms.iph.daddr) in ipip6_tunnel_xmit()
1051 const struct iphdr *tiph = &tunnel->parms.iph; in sit_tunnel_xmit__()
1101 const struct iphdr *iph; in ipip6_tunnel_bind_dev() local
1105 iph = &tunnel->parms.iph; in ipip6_tunnel_bind_dev()
1107 if (iph->daddr) { in ipip6_tunnel_bind_dev()
1110 iph->daddr, iph->saddr, in ipip6_tunnel_bind_dev()
1113 RT_TOS(iph->tos), in ipip6_tunnel_bind_dev()
1143 t->parms.iph.saddr = p->iph.saddr; in ipip6_tunnel_update()
1144 t->parms.iph.daddr = p->iph.daddr; in ipip6_tunnel_update()
1145 memcpy(t->dev->dev_addr, &p->iph.saddr, 4); in ipip6_tunnel_update()
1146 memcpy(t->dev->broadcast, &p->iph.daddr, 4); in ipip6_tunnel_update()
1148 t->parms.iph.ttl = p->iph.ttl; in ipip6_tunnel_update()
1149 t->parms.iph.tos = p->iph.tos; in ipip6_tunnel_update()
1150 t->parms.iph.frag_off = p->iph.frag_off; in ipip6_tunnel_update()
1255 if (!ipip6_valid_ip_proto(p->iph.protocol)) in __ipip6_tunnel_ioctl_validate()
1257 if (p->iph.version != 4 || in __ipip6_tunnel_ioctl_validate()
1258 p->iph.ihl != 5 || (p->iph.frag_off & htons(~IP_DF))) in __ipip6_tunnel_ioctl_validate()
1261 if (p->iph.ttl) in __ipip6_tunnel_ioctl_validate()
1262 p->iph.frag_off |= htons(IP_DF); in __ipip6_tunnel_ioctl_validate()
1314 if (((dev->flags & IFF_POINTOPOINT) && !p->iph.daddr) || in ipip6_tunnel_change()
1315 (!(dev->flags & IFF_POINTOPOINT) && p->iph.daddr)) in ipip6_tunnel_change()
1464 struct iphdr *iph = &tunnel->parms.iph; in ipip6_fb_tunnel_init() local
1468 iph->version = 4; in ipip6_fb_tunnel_init()
1469 iph->protocol = IPPROTO_IPV6; in ipip6_fb_tunnel_init()
1470 iph->ihl = 5; in ipip6_fb_tunnel_init()
1471 iph->ttl = 64; in ipip6_fb_tunnel_init()
1497 parms->iph.version = 4; in ipip6_netlink_parms()
1498 parms->iph.protocol = IPPROTO_IPV6; in ipip6_netlink_parms()
1499 parms->iph.ihl = 5; in ipip6_netlink_parms()
1500 parms->iph.ttl = 64; in ipip6_netlink_parms()
1509 parms->iph.saddr = nla_get_be32(data[IFLA_IPTUN_LOCAL]); in ipip6_netlink_parms()
1512 parms->iph.daddr = nla_get_be32(data[IFLA_IPTUN_REMOTE]); in ipip6_netlink_parms()
1515 parms->iph.ttl = nla_get_u8(data[IFLA_IPTUN_TTL]); in ipip6_netlink_parms()
1516 if (parms->iph.ttl) in ipip6_netlink_parms()
1517 parms->iph.frag_off = htons(IP_DF); in ipip6_netlink_parms()
1521 parms->iph.tos = nla_get_u8(data[IFLA_IPTUN_TOS]); in ipip6_netlink_parms()
1524 parms->iph.frag_off = htons(IP_DF); in ipip6_netlink_parms()
1530 parms->iph.protocol = nla_get_u8(data[IFLA_IPTUN_PROTO]); in ipip6_netlink_parms()
1681 if (((dev->flags & IFF_POINTOPOINT) && !p.iph.daddr) || in ipip6_changelink()
1682 (!(dev->flags & IFF_POINTOPOINT) && p.iph.daddr)) in ipip6_changelink()
1751 nla_put_in_addr(skb, IFLA_IPTUN_LOCAL, parm->iph.saddr) || in ipip6_fill_info()
1752 nla_put_in_addr(skb, IFLA_IPTUN_REMOTE, parm->iph.daddr) || in ipip6_fill_info()
1753 nla_put_u8(skb, IFLA_IPTUN_TTL, parm->iph.ttl) || in ipip6_fill_info()
1754 nla_put_u8(skb, IFLA_IPTUN_TOS, parm->iph.tos) || in ipip6_fill_info()
1756 !!(parm->iph.frag_off & htons(IP_DF))) || in ipip6_fill_info()
1757 nla_put_u8(skb, IFLA_IPTUN_PROTO, parm->iph.protocol) || in ipip6_fill_info()