Lines Matching refs:fl6
70 struct flowi6 fl6; in ping_v6_sendmsg() local
82 memset(&fl6, 0, sizeof(fl6)); in ping_v6_sendmsg()
93 fl6.flowlabel = u->sin6_flowinfo & IPV6_FLOWINFO_MASK; in ping_v6_sendmsg()
100 fl6.flowlabel = np->flow_label; in ping_v6_sendmsg()
123 fl6.flowi6_oif = oif; in ping_v6_sendmsg()
131 err = ip6_datagram_send_ctl(sock_net(sk), sk, msg, &fl6, &ipc6); in ping_v6_sendmsg()
141 fl6.flowi6_proto = IPPROTO_ICMPV6; in ping_v6_sendmsg()
142 fl6.saddr = np->saddr; in ping_v6_sendmsg()
143 fl6.daddr = *daddr; in ping_v6_sendmsg()
144 fl6.flowi6_mark = ipc6.sockc.mark; in ping_v6_sendmsg()
145 fl6.flowi6_uid = sk_uid(sk); in ping_v6_sendmsg()
146 fl6.fl6_icmp_type = user_icmph.icmp6_type; in ping_v6_sendmsg()
147 fl6.fl6_icmp_code = user_icmph.icmp6_code; in ping_v6_sendmsg()
148 security_sk_classify_flow(sk, flowi6_to_flowi_common(&fl6)); in ping_v6_sendmsg()
150 fl6.flowlabel = ip6_make_flowinfo(ipc6.tclass, fl6.flowlabel); in ping_v6_sendmsg()
152 dst = ip6_sk_dst_lookup_flow(sk, &fl6, daddr, false); in ping_v6_sendmsg()
157 if (!fl6.flowi6_oif && ipv6_addr_is_multicast(&fl6.daddr)) in ping_v6_sendmsg()
158 fl6.flowi6_oif = READ_ONCE(np->mcast_oif); in ping_v6_sendmsg()
159 else if (!fl6.flowi6_oif) in ping_v6_sendmsg()
160 fl6.flowi6_oif = READ_ONCE(np->ucast_oif); in ping_v6_sendmsg()
172 ipc6.hlimit = ip6_sk_dst_hoplimit(np, &fl6, dst); in ping_v6_sendmsg()
176 sizeof(struct icmp6hdr), &ipc6, &fl6, rt, in ping_v6_sendmsg()
184 icmpv6_push_pending_frames(sk, &fl6, in ping_v6_sendmsg()