Lines Matching refs:fl6
499 struct flowi6 fl6;
517 memset(&fl6, 0, sizeof(fl6));
519 fl6.flowi6_mark = sk->sk_mark;
520 fl6.flowi6_uid = sk->sk_uid;
533 fl6.flowlabel = lsa->l2tp_flowinfo & IPV6_FLOWINFO_MASK;
534 if (fl6.flowlabel & IPV6_FLOWLABEL_MASK) {
535 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel);
551 fl6.flowi6_oif = lsa->l2tp_scope_id;
557 fl6.flowlabel = np->flow_label;
560 if (fl6.flowi6_oif == 0)
561 fl6.flowi6_oif = sk->sk_bound_dev_if;
569 err = ip6_datagram_send_ctl(sock_net(sk), sk, msg, &fl6, &ipc6);
574 if ((fl6.flowlabel & IPV6_FLOWLABEL_MASK) && !flowlabel) {
575 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel);
592 fl6.flowi6_proto = sk->sk_protocol;
594 fl6.daddr = *daddr;
596 fl6.daddr.s6_addr[15] = 0x1; /* :: means loopback (BSD'ism) */
597 if (ipv6_addr_any(&fl6.saddr) && !ipv6_addr_any(&np->saddr))
598 fl6.saddr = np->saddr;
600 final_p = fl6_update_dst(&fl6, opt, &final);
602 if (!fl6.flowi6_oif && ipv6_addr_is_multicast(&fl6.daddr))
603 fl6.flowi6_oif = np->mcast_oif;
604 else if (!fl6.flowi6_oif)
605 fl6.flowi6_oif = np->ucast_oif;
607 security_sk_classify_flow(sk, flowi6_to_flowi_common(&fl6));
612 fl6.flowlabel = ip6_make_flowinfo(ipc6.tclass, fl6.flowlabel);
614 dst = ip6_dst_lookup_flow(sock_net(sk), sk, &fl6, final_p);
621 ipc6.hlimit = ip6_sk_dst_hoplimit(np, &fl6, dst);
634 &fl6, (struct rt6_info *)dst,
651 dst_confirm_neigh(dst, &fl6.daddr);