Lines Matching full:v6
87 addr->a.v6.sin6_family = AF_INET6; in sctp_inet6addr_event()
88 addr->a.v6.sin6_addr = ifa->addr; in sctp_inet6addr_event()
89 addr->a.v6.sin6_scope_id = ifa->idev->dev->ifindex; in sctp_inet6addr_event()
102 ipv6_addr_equal(&addr->a.v6.sin6_addr, in sctp_inet6addr_event()
243 fl6->daddr = daddr->v6.sin6_addr; in sctp_v6_get_dst()
244 fl6->fl6_dport = daddr->v6.sin6_port; in sctp_v6_get_dst()
246 if (ipv6_addr_type(&daddr->v6.sin6_addr) & IPV6_ADDR_LINKLOCAL) in sctp_v6_get_dst()
247 fl6->flowi6_oif = daddr->v6.sin6_scope_id; in sctp_v6_get_dst()
268 fl6->saddr = saddr->v6.sin6_addr; in sctp_v6_get_dst()
270 fl6->fl6_sport = saddr->v6.sin6_port; in sctp_v6_get_dst()
334 fl6->saddr = laddr->a.v6.sin6_addr; in sctp_v6_get_dst()
335 fl6->fl6_sport = laddr->a.v6.sin6_port; in sctp_v6_get_dst()
343 &laddr->a.v6.sin6_addr, bdst->dev, 1)) { in sctp_v6_get_dst()
388 return ipv6_addr_diff(&s1->v6.sin6_addr, &s2->v6.sin6_addr); in sctp_v6_addr_match_len()
404 saddr->v6.sin6_family = AF_INET6; in sctp_v6_get_saddr()
405 saddr->v6.sin6_addr = fl6->saddr; in sctp_v6_get_saddr()
428 addr->a.v6.sin6_family = AF_INET6; in sctp_v6_copy_addrlist()
429 addr->a.v6.sin6_addr = ifp->addr; in sctp_v6_copy_addrlist()
430 addr->a.v6.sin6_scope_id = dev->ifindex; in sctp_v6_copy_addrlist()
482 struct sockaddr_in6 *sa = &addr->v6; in sctp_v6_from_skb()
484 addr->v6.sin6_family = AF_INET6; in sctp_v6_from_skb()
485 addr->v6.sin6_flowinfo = 0; /* FIXME */ in sctp_v6_from_skb()
486 addr->v6.sin6_scope_id = ((struct inet6_skb_parm *)skb->cb)->iif; in sctp_v6_from_skb()
500 addr->v6.sin6_family = AF_INET6; in sctp_v6_from_sk()
501 addr->v6.sin6_port = 0; in sctp_v6_from_sk()
502 addr->v6.sin6_addr = sk->sk_v6_rcv_saddr; in sctp_v6_from_sk()
515 sk->sk_v6_rcv_saddr = addr->v6.sin6_addr; in sctp_v6_to_sk_saddr()
528 sk->sk_v6_daddr = addr->v6.sin6_addr; in sctp_v6_to_sk_daddr()
537 if (ntohs(param->v6.param_hdr.length) < sizeof(struct sctp_ipv6addr_param)) in sctp_v6_from_addr_param()
540 addr->v6.sin6_family = AF_INET6; in sctp_v6_from_addr_param()
541 addr->v6.sin6_port = port; in sctp_v6_from_addr_param()
542 addr->v6.sin6_flowinfo = 0; /* BUG */ in sctp_v6_from_addr_param()
543 addr->v6.sin6_addr = param->v6.addr; in sctp_v6_from_addr_param()
544 addr->v6.sin6_scope_id = iif; in sctp_v6_from_addr_param()
557 param->v6.param_hdr.type = SCTP_PARAM_IPV6_ADDRESS; in sctp_v6_to_addr_param()
558 param->v6.param_hdr.length = htons(length); in sctp_v6_to_addr_param()
559 param->v6.addr = addr->v6.sin6_addr; in sctp_v6_to_addr_param()
569 addr->v6.sin6_port = port; in sctp_v6_to_addr()
570 addr->v6.sin6_flowinfo = 0; in sctp_v6_to_addr()
571 addr->v6.sin6_addr = *saddr; in sctp_v6_to_addr()
572 addr->v6.sin6_scope_id = 0; in sctp_v6_to_addr()
581 ipv6_addr_v4mapped(&addr2->v6.sin6_addr) && in __sctp_v6_cmp_addr()
582 addr2->v6.sin6_addr.s6_addr32[3] == in __sctp_v6_cmp_addr()
588 ipv6_addr_v4mapped(&addr1->v6.sin6_addr) && in __sctp_v6_cmp_addr()
589 addr1->v6.sin6_addr.s6_addr32[3] == in __sctp_v6_cmp_addr()
596 if (!ipv6_addr_equal(&addr1->v6.sin6_addr, &addr2->v6.sin6_addr)) in __sctp_v6_cmp_addr()
600 if ((ipv6_addr_type(&addr1->v6.sin6_addr) & IPV6_ADDR_LINKLOCAL) && in __sctp_v6_cmp_addr()
601 addr1->v6.sin6_scope_id && addr2->v6.sin6_scope_id && in __sctp_v6_cmp_addr()
602 addr1->v6.sin6_scope_id != addr2->v6.sin6_scope_id) in __sctp_v6_cmp_addr()
609 * v4-mapped-v6 is also in consideration.
615 addr1->v6.sin6_port == addr2->v6.sin6_port; in sctp_v6_cmp_addr()
622 addr->v6.sin6_family = AF_INET6; in sctp_v6_inaddr_any()
623 addr->v6.sin6_port = port; in sctp_v6_inaddr_any()
629 return ipv6_addr_any(&addr->v6.sin6_addr); in sctp_v6_is_any()
637 const struct in6_addr *in6 = (const struct in6_addr *)&addr->v6.sin6_addr; in sctp_v6_available()
666 int ret = ipv6_addr_type(&addr->v6.sin6_addr); in sctp_v6_addr_valid()
668 /* Support v4-mapped-v6 address. */ in sctp_v6_addr_valid()
670 /* Note: This routine is used in input, so v4-mapped-v6 in sctp_v6_addr_valid()
696 v6scope = ipv6_addr_scope(&addr->v6.sin6_addr); in sctp_v6_scope()
775 ipv6_addr_v4mapped(&addr->v6.sin6_addr)) in sctp_v6_addr_to_user()
798 /* Dump the v6 addr to the seq file. */
801 seq_printf(seq, "%pI6 ", &addr->v6.sin6_addr); in sctp_v6_seq_dump_addr()
829 addr->v6.sin6_family = AF_INET6; in sctp_inet6_event_msgname()
830 addr->v6.sin6_flowinfo = 0; in sctp_inet6_event_msgname()
831 if (ipv6_addr_type(&paddr->v6.sin6_addr) & IPV6_ADDR_LINKLOCAL) in sctp_inet6_event_msgname()
832 addr->v6.sin6_scope_id = paddr->v6.sin6_scope_id; in sctp_inet6_event_msgname()
834 addr->v6.sin6_scope_id = 0; in sctp_inet6_event_msgname()
835 addr->v6.sin6_port = htons(asoc->peer.port); in sctp_inet6_event_msgname()
836 addr->v6.sin6_addr = paddr->v6.sin6_addr; in sctp_inet6_event_msgname()
860 addr->v6.sin6_family = AF_INET6; in sctp_inet6_skb_msgname()
861 addr->v6.sin6_flowinfo = 0; in sctp_inet6_skb_msgname()
862 addr->v6.sin6_port = sh->source; in sctp_inet6_skb_msgname()
863 addr->v6.sin6_addr = ipv6_hdr(skb)->saddr; in sctp_inet6_skb_msgname()
864 if (ipv6_addr_type(&addr->v6.sin6_addr) & IPV6_ADDR_LINKLOCAL) in sctp_inet6_skb_msgname()
865 addr->v6.sin6_scope_id = sctp_v6_skb_iif(skb); in sctp_inet6_skb_msgname()
867 addr->v6.sin6_scope_id = 0; in sctp_inet6_skb_msgname()
879 /* v4-mapped-v6 addresses */ in sctp_inet6_af_supported()
931 int type = ipv6_addr_type(&addr->v6.sin6_addr); in sctp_inet6_bind_verify()
936 if (!addr->v6.sin6_scope_id) in sctp_inet6_bind_verify()
940 dev = dev_get_by_index_rcu(net, addr->v6.sin6_scope_id); in sctp_inet6_bind_verify()
942 ipv6_chk_addr(net, &addr->v6.sin6_addr, in sctp_inet6_bind_verify()
966 int type = ipv6_addr_type(&addr->v6.sin6_addr); in sctp_inet6_send_verify()
970 if (!addr->v6.sin6_scope_id) in sctp_inet6_send_verify()
974 addr->v6.sin6_scope_id); in sctp_inet6_send_verify()