Lines Matching refs:fl6
75 struct flowi6 fl6; in ping_v6_sendmsg() local
87 memset(&fl6, 0, sizeof(fl6)); in ping_v6_sendmsg()
98 fl6.flowlabel = u->sin6_flowinfo & IPV6_FLOWINFO_MASK; in ping_v6_sendmsg()
105 fl6.flowlabel = np->flow_label; in ping_v6_sendmsg()
129 fl6.flowi6_oif = oif; in ping_v6_sendmsg()
137 err = ip6_datagram_send_ctl(sock_net(sk), sk, msg, &fl6, &ipc6); in ping_v6_sendmsg()
147 fl6.flowi6_proto = IPPROTO_ICMPV6; in ping_v6_sendmsg()
148 fl6.saddr = np->saddr; in ping_v6_sendmsg()
149 fl6.daddr = *daddr; in ping_v6_sendmsg()
150 fl6.flowi6_mark = ipc6.sockc.mark; in ping_v6_sendmsg()
151 fl6.flowi6_uid = sk->sk_uid; in ping_v6_sendmsg()
152 fl6.fl6_icmp_type = user_icmph.icmp6_type; in ping_v6_sendmsg()
153 fl6.fl6_icmp_code = user_icmph.icmp6_code; in ping_v6_sendmsg()
154 security_sk_classify_flow(sk, flowi6_to_flowi_common(&fl6)); in ping_v6_sendmsg()
156 fl6.flowlabel = ip6_make_flowinfo(ipc6.tclass, fl6.flowlabel); in ping_v6_sendmsg()
158 dst = ip6_sk_dst_lookup_flow(sk, &fl6, daddr, false); in ping_v6_sendmsg()
163 if (!fl6.flowi6_oif && ipv6_addr_is_multicast(&fl6.daddr)) in ping_v6_sendmsg()
164 fl6.flowi6_oif = np->mcast_oif; in ping_v6_sendmsg()
165 else if (!fl6.flowi6_oif) in ping_v6_sendmsg()
166 fl6.flowi6_oif = np->ucast_oif; in ping_v6_sendmsg()
178 ipc6.hlimit = ip6_sk_dst_hoplimit(np, &fl6, dst); in ping_v6_sendmsg()
182 sizeof(struct icmp6hdr), &ipc6, &fl6, rt, in ping_v6_sendmsg()
190 icmpv6_push_pending_frames(sk, &fl6, in ping_v6_sendmsg()