Lines Matching full:v6

88 			addr->a.v6.sin6_family = AF_INET6;  in sctp_inet6addr_event()
89 addr->a.v6.sin6_addr = ifa->addr; in sctp_inet6addr_event()
90 addr->a.v6.sin6_scope_id = ifa->idev->dev->ifindex; in sctp_inet6addr_event()
103 ipv6_addr_equal(&addr->a.v6.sin6_addr, in sctp_inet6addr_event()
105 addr->a.v6.sin6_scope_id == ifa->idev->dev->ifindex) { in sctp_inet6addr_event()
291 fl6->daddr = daddr->v6.sin6_addr; in sctp_v6_get_dst()
292 fl6->fl6_dport = daddr->v6.sin6_port; in sctp_v6_get_dst()
294 if (ipv6_addr_type(&daddr->v6.sin6_addr) & IPV6_ADDR_LINKLOCAL) in sctp_v6_get_dst()
295 fl6->flowi6_oif = daddr->v6.sin6_scope_id; in sctp_v6_get_dst()
316 fl6->saddr = saddr->v6.sin6_addr; in sctp_v6_get_dst()
318 fl6->fl6_sport = saddr->v6.sin6_port; in sctp_v6_get_dst()
382 fl6->saddr = laddr->a.v6.sin6_addr; in sctp_v6_get_dst()
383 fl6->fl6_sport = laddr->a.v6.sin6_port; in sctp_v6_get_dst()
391 &laddr->a.v6.sin6_addr, bdst->dev, 1)) { in sctp_v6_get_dst()
436 return ipv6_addr_diff(&s1->v6.sin6_addr, &s2->v6.sin6_addr); in sctp_v6_addr_match_len()
452 saddr->v6.sin6_family = AF_INET6; in sctp_v6_get_saddr()
453 saddr->v6.sin6_addr = fl6->saddr; in sctp_v6_get_saddr()
476 addr->a.v6.sin6_family = AF_INET6; in sctp_v6_copy_addrlist()
477 addr->a.v6.sin6_addr = ifp->addr; in sctp_v6_copy_addrlist()
478 addr->a.v6.sin6_scope_id = dev->ifindex; in sctp_v6_copy_addrlist()
530 struct sockaddr_in6 *sa = &addr->v6; in sctp_v6_from_skb()
532 addr->v6.sin6_family = AF_INET6; in sctp_v6_from_skb()
533 addr->v6.sin6_flowinfo = 0; /* FIXME */ in sctp_v6_from_skb()
534 addr->v6.sin6_scope_id = ((struct inet6_skb_parm *)skb->cb)->iif; in sctp_v6_from_skb()
548 addr->v6.sin6_family = AF_INET6; in sctp_v6_from_sk()
549 addr->v6.sin6_port = 0; in sctp_v6_from_sk()
550 addr->v6.sin6_addr = sk->sk_v6_rcv_saddr; in sctp_v6_from_sk()
563 sk->sk_v6_rcv_saddr = addr->v6.sin6_addr; in sctp_v6_to_sk_saddr()
576 sk->sk_v6_daddr = addr->v6.sin6_addr; in sctp_v6_to_sk_daddr()
585 if (ntohs(param->v6.param_hdr.length) < sizeof(struct sctp_ipv6addr_param)) in sctp_v6_from_addr_param()
588 addr->v6.sin6_family = AF_INET6; in sctp_v6_from_addr_param()
589 addr->v6.sin6_port = port; in sctp_v6_from_addr_param()
590 addr->v6.sin6_flowinfo = 0; /* BUG */ in sctp_v6_from_addr_param()
591 addr->v6.sin6_addr = param->v6.addr; in sctp_v6_from_addr_param()
592 addr->v6.sin6_scope_id = iif; in sctp_v6_from_addr_param()
605 param->v6.param_hdr.type = SCTP_PARAM_IPV6_ADDRESS; in sctp_v6_to_addr_param()
606 param->v6.param_hdr.length = htons(length); in sctp_v6_to_addr_param()
607 param->v6.addr = addr->v6.sin6_addr; in sctp_v6_to_addr_param()
617 addr->v6.sin6_port = port; in sctp_v6_to_addr()
618 addr->v6.sin6_flowinfo = 0; in sctp_v6_to_addr()
619 addr->v6.sin6_addr = *saddr; in sctp_v6_to_addr()
620 addr->v6.sin6_scope_id = 0; in sctp_v6_to_addr()
629 ipv6_addr_v4mapped(&addr2->v6.sin6_addr) && in __sctp_v6_cmp_addr()
630 addr2->v6.sin6_addr.s6_addr32[3] == in __sctp_v6_cmp_addr()
636 ipv6_addr_v4mapped(&addr1->v6.sin6_addr) && in __sctp_v6_cmp_addr()
637 addr1->v6.sin6_addr.s6_addr32[3] == in __sctp_v6_cmp_addr()
644 if (!ipv6_addr_equal(&addr1->v6.sin6_addr, &addr2->v6.sin6_addr)) in __sctp_v6_cmp_addr()
648 if ((ipv6_addr_type(&addr1->v6.sin6_addr) & IPV6_ADDR_LINKLOCAL) && in __sctp_v6_cmp_addr()
649 addr1->v6.sin6_scope_id && addr2->v6.sin6_scope_id && in __sctp_v6_cmp_addr()
650 addr1->v6.sin6_scope_id != addr2->v6.sin6_scope_id) in __sctp_v6_cmp_addr()
657 * v4-mapped-v6 is also in consideration.
663 addr1->v6.sin6_port == addr2->v6.sin6_port; in sctp_v6_cmp_addr()
670 addr->v6.sin6_family = AF_INET6; in sctp_v6_inaddr_any()
671 addr->v6.sin6_port = port; in sctp_v6_inaddr_any()
677 return ipv6_addr_any(&addr->v6.sin6_addr); in sctp_v6_is_any()
683 const struct in6_addr *in6 = (const struct in6_addr *)&addr->v6.sin6_addr; in sctp_v6_available()
729 int ret = ipv6_addr_type(&addr->v6.sin6_addr); in sctp_v6_addr_valid()
731 /* Support v4-mapped-v6 address. */ in sctp_v6_addr_valid()
733 /* Note: This routine is used in input, so v4-mapped-v6 in sctp_v6_addr_valid()
759 v6scope = ipv6_addr_scope(&addr->v6.sin6_addr); in sctp_v6_scope()
836 ipv6_addr_v4mapped(&addr->v6.sin6_addr)) in sctp_v6_addr_to_user()
864 /* Dump the v6 addr to the seq file. */
867 seq_printf(seq, "%pI6 ", &addr->v6.sin6_addr); in sctp_v6_seq_dump_addr()
895 addr->v6.sin6_family = AF_INET6; in sctp_inet6_event_msgname()
896 addr->v6.sin6_flowinfo = 0; in sctp_inet6_event_msgname()
897 if (ipv6_addr_type(&paddr->v6.sin6_addr) & IPV6_ADDR_LINKLOCAL) in sctp_inet6_event_msgname()
898 addr->v6.sin6_scope_id = paddr->v6.sin6_scope_id; in sctp_inet6_event_msgname()
900 addr->v6.sin6_scope_id = 0; in sctp_inet6_event_msgname()
901 addr->v6.sin6_port = htons(asoc->peer.port); in sctp_inet6_event_msgname()
902 addr->v6.sin6_addr = paddr->v6.sin6_addr; in sctp_inet6_event_msgname()
926 addr->v6.sin6_family = AF_INET6; in sctp_inet6_skb_msgname()
927 addr->v6.sin6_flowinfo = 0; in sctp_inet6_skb_msgname()
928 addr->v6.sin6_port = sh->source; in sctp_inet6_skb_msgname()
929 addr->v6.sin6_addr = ipv6_hdr(skb)->saddr; in sctp_inet6_skb_msgname()
930 if (ipv6_addr_type(&addr->v6.sin6_addr) & IPV6_ADDR_LINKLOCAL) in sctp_inet6_skb_msgname()
931 addr->v6.sin6_scope_id = sctp_v6_skb_iif(skb); in sctp_inet6_skb_msgname()
933 addr->v6.sin6_scope_id = 0; in sctp_inet6_skb_msgname()
945 /* v4-mapped-v6 addresses */ in sctp_inet6_af_supported()
997 int type = ipv6_addr_type(&addr->v6.sin6_addr); in sctp_inet6_bind_verify()
1002 if (!addr->v6.sin6_scope_id) in sctp_inet6_bind_verify()
1006 dev = dev_get_by_index_rcu(net, addr->v6.sin6_scope_id); in sctp_inet6_bind_verify()
1008 ipv6_chk_addr(net, &addr->v6.sin6_addr, in sctp_inet6_bind_verify()
1032 int type = ipv6_addr_type(&addr->v6.sin6_addr); in sctp_inet6_send_verify()
1036 if (!addr->v6.sin6_scope_id) in sctp_inet6_send_verify()
1040 addr->v6.sin6_scope_id); in sctp_inet6_send_verify()