Lines Matching refs:saddr

444 		       const struct in6_addr *saddr,  in ip6_nd_hdr()  argument
467 hdr->saddr = *saddr; in ip6_nd_hdr()
472 const struct in6_addr *saddr) in ndisc_send_skb() argument
488 icmpv6_flow_init(sk, &fl6, type, saddr, daddr, oif); in ndisc_send_skb()
498 icmp6h->icmp6_cksum = csum_ipv6_magic(saddr, daddr, skb->len, in ndisc_send_skb()
503 ip6_nd_hdr(skb, saddr, daddr, inet6_sk(sk)->hop_limit, skb->len); in ndisc_send_skb()
604 const struct in6_addr *saddr, u64 nonce) in ndisc_ns_create() argument
611 if (!saddr) in ndisc_ns_create()
614 if (ipv6_addr_any(saddr)) in ndisc_ns_create()
651 const struct in6_addr *daddr, const struct in6_addr *saddr, in ndisc_send_ns() argument
657 if (!saddr) { in ndisc_send_ns()
661 saddr = &addr_buf; in ndisc_send_ns()
664 skb = ndisc_ns_create(dev, solicit, saddr, nonce); in ndisc_send_ns()
667 ndisc_send_skb(skb, daddr, saddr); in ndisc_send_ns()
670 void ndisc_send_rs(struct net_device *dev, const struct in6_addr *saddr, in ndisc_send_rs() argument
688 struct inet6_ifaddr *ifp = ipv6_get_ifaddr(dev_net(dev), saddr, in ndisc_send_rs()
719 ndisc_send_skb(skb, daddr, saddr); in ndisc_send_rs()
737 struct in6_addr *saddr = NULL; in ndisc_solicit() local
743 if (skb && ipv6_chk_addr_and_flags(dev_net(dev), &ipv6_hdr(skb)->saddr, in ndisc_solicit()
746 saddr = &ipv6_hdr(skb)->saddr; in ndisc_solicit()
754 ndisc_send_ns(dev, target, target, saddr, 0); in ndisc_solicit()
759 ndisc_send_ns(dev, target, &mcaddr, saddr, 0); in ndisc_solicit()
790 const struct in6_addr *saddr = &ipv6_hdr(skb)->saddr; in ndisc_recv_ns() local
800 int dad = ipv6_addr_any(saddr); in ndisc_recv_ns()
949 neigh = __neigh_lookup(&nd_tbl, saddr, dev, in ndisc_recv_ns()
957 ndisc_send_na(dev, saddr, &msg->target, !!is_router, in ndisc_recv_ns()
972 static int accept_untracked_na(struct net_device *dev, struct in6_addr *saddr) in accept_untracked_na() argument
985 return !!ipv6_chk_prefix(saddr, dev); in accept_untracked_na()
994 struct in6_addr *saddr = &ipv6_hdr(skb)->saddr; in ndisc_recv_na() local
1084 if (accept_untracked_na(dev, saddr)) { in ndisc_recv_na()
1121 rt6_clean_tohost(dev_net(dev), saddr); in ndisc_recv_na()
1136 const struct in6_addr *saddr = &ipv6_hdr(skb)->saddr; in ndisc_recv_rs() local
1158 if (ipv6_addr_any(saddr)) in ndisc_recv_rs()
1172 neigh = __neigh_lookup(&nd_tbl, saddr, skb->dev, 1); in ndisc_recv_rs()
1218 if (nla_put_in6_addr(skb, NDUSEROPT_SRCADDR, &ipv6_hdr(ra)->saddr)) in ndisc_ra_useropt()
1256 if (!(ipv6_addr_type(&ipv6_hdr(skb)->saddr) & IPV6_ADDR_LINKLOCAL)) { in ndisc_router_discovery()
1340 ipv6_chk_addr(net, &ipv6_hdr(skb)->saddr, in6_dev->dev, 0)) { in ndisc_router_discovery()
1355 rt = rt6_get_dflt_router(net, &ipv6_hdr(skb)->saddr, skb->dev); in ndisc_router_discovery()
1359 &ipv6_hdr(skb)->saddr); in ndisc_router_discovery()
1384 rt = rt6_add_dflt_router(net, &ipv6_hdr(skb)->saddr, in ndisc_router_discovery()
1395 &ipv6_hdr(skb)->saddr); in ndisc_router_discovery()
1469 neigh = __neigh_lookup(&nd_tbl, &ipv6_hdr(skb)->saddr, in ndisc_router_discovery()
1500 ipv6_chk_addr(dev_net(in6_dev->dev), &ipv6_hdr(skb)->saddr, in ndisc_router_discovery()
1530 &ipv6_hdr(skb)->saddr); in ndisc_router_discovery()
1624 if (!(ipv6_addr_type(&ipv6_hdr(skb)->saddr) & IPV6_ADDR_LINKLOCAL)) { in ndisc_redirect_rcv()
1700 &saddr_buf, &ipv6_hdr(skb)->saddr, dev->ifindex); in ndisc_send_redirect()
1718 peer = inet_getpeer_v6(net->ipv6.peers, &ipv6_hdr(skb)->saddr, 1); in ndisc_send_redirect()
1781 ndisc_send_skb(buff, &ipv6_hdr(skb)->saddr, &saddr_buf); in ndisc_send_redirect()