Lines Matching defs:saddr

441 		       const struct in6_addr *saddr,
464 hdr->saddr = *saddr;
469 const struct in6_addr *saddr)
490 icmpv6_flow_init(sk, &fl6, type, saddr, daddr, oif);
501 icmp6h->icmp6_cksum = csum_ipv6_magic(saddr, daddr, skb->len,
506 ip6_nd_hdr(skb, saddr, daddr, READ_ONCE(inet6_sk(sk)->hop_limit), skb->len);
607 const struct in6_addr *saddr, u64 nonce)
614 if (!saddr)
617 if (ipv6_addr_any(saddr))
654 const struct in6_addr *daddr, const struct in6_addr *saddr,
660 if (!saddr) {
664 saddr = &addr_buf;
667 skb = ndisc_ns_create(dev, solicit, saddr, nonce);
670 ndisc_send_skb(skb, daddr, saddr);
673 void ndisc_send_rs(struct net_device *dev, const struct in6_addr *saddr,
691 struct inet6_ifaddr *ifp = ipv6_get_ifaddr(dev_net(dev), saddr,
722 ndisc_send_skb(skb, daddr, saddr);
740 struct in6_addr *saddr = NULL;
746 if (skb && ipv6_chk_addr_and_flags(dev_net(dev), &ipv6_hdr(skb)->saddr,
749 saddr = &ipv6_hdr(skb)->saddr;
756 ndisc_send_ns(dev, target, target, saddr, 0);
761 ndisc_send_ns(dev, target, &mcaddr, saddr, 0);
790 const struct in6_addr *saddr = &ipv6_hdr(skb)->saddr;
800 int dad = ipv6_addr_any(saddr);
946 neigh = __neigh_lookup(&nd_tbl, saddr, dev,
954 ndisc_send_na(dev, saddr, &msg->target, !!is_router,
969 static int accept_untracked_na(struct net_device *dev, struct in6_addr *saddr)
978 case 2: /* Create new entries from untracked na only if saddr is in the
982 return !!ipv6_chk_prefix(saddr, dev);
991 struct in6_addr *saddr = &ipv6_hdr(skb)->saddr;
1080 if (accept_untracked_na(dev, saddr)) {
1118 rt6_clean_tohost(dev_net(dev), saddr);
1133 const struct in6_addr *saddr = &ipv6_hdr(skb)->saddr;
1155 if (ipv6_addr_any(saddr))
1169 neigh = __neigh_lookup(&nd_tbl, saddr, skb->dev, 1);
1215 if (nla_put_in6_addr(skb, NDUSEROPT_SRCADDR, &ipv6_hdr(ra)->saddr))
1252 if (!(ipv6_addr_type(&ipv6_hdr(skb)->saddr) & IPV6_ADDR_LINKLOCAL)) {
1332 ipv6_chk_addr(net, &ipv6_hdr(skb)->saddr, in6_dev->dev, 0)) {
1346 rt = rt6_get_dflt_router(net, &ipv6_hdr(skb)->saddr, skb->dev);
1350 &ipv6_hdr(skb)->saddr);
1374 rt = rt6_add_dflt_router(net, &ipv6_hdr(skb)->saddr,
1384 &ipv6_hdr(skb)->saddr);
1466 neigh = __neigh_lookup(&nd_tbl, &ipv6_hdr(skb)->saddr,
1495 ipv6_chk_addr(dev_net(in6_dev->dev), &ipv6_hdr(skb)->saddr,
1524 &ipv6_hdr(skb)->saddr);
1616 if (!(ipv6_addr_type(&ipv6_hdr(skb)->saddr) & IPV6_ADDR_LINKLOCAL)) {
1689 &saddr_buf, &ipv6_hdr(skb)->saddr, dev->ifindex);
1707 peer = inet_getpeer_v6(net->ipv6.peers, &ipv6_hdr(skb)->saddr);
1768 ndisc_send_skb(buff, &ipv6_hdr(skb)->saddr, &saddr_buf);