Lines Matching refs:fl6
145 struct flowi6 fl6; in tcp_v6_connect() local
157 memset(&fl6, 0, sizeof(fl6)); in tcp_v6_connect()
160 fl6.flowlabel = usin->sin6_flowinfo&IPV6_FLOWINFO_MASK; in tcp_v6_connect()
161 IP6_ECN_flow_init(fl6.flowlabel); in tcp_v6_connect()
162 if (fl6.flowlabel&IPV6_FLOWLABEL_MASK) { in tcp_v6_connect()
164 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); in tcp_v6_connect()
213 np->flow_label = fl6.flowlabel; in tcp_v6_connect()
257 fl6.flowi6_proto = IPPROTO_TCP; in tcp_v6_connect()
258 fl6.daddr = sk->sk_v6_daddr; in tcp_v6_connect()
259 fl6.saddr = saddr ? *saddr : np->saddr; in tcp_v6_connect()
260 fl6.flowi6_oif = sk->sk_bound_dev_if; in tcp_v6_connect()
261 fl6.flowi6_mark = sk->sk_mark; in tcp_v6_connect()
262 fl6.fl6_dport = usin->sin6_port; in tcp_v6_connect()
263 fl6.fl6_sport = inet->inet_sport; in tcp_v6_connect()
264 fl6.flowi6_uid = sk->sk_uid; in tcp_v6_connect()
267 final_p = fl6_update_dst(&fl6, opt, &final); in tcp_v6_connect()
269 security_sk_classify_flow(sk, flowi6_to_flowi(&fl6)); in tcp_v6_connect()
271 dst = ip6_dst_lookup_flow(sk, &fl6, final_p); in tcp_v6_connect()
278 saddr = &fl6.saddr; in tcp_v6_connect()
482 struct flowi6 *fl6 = &fl->u.ip6; in tcp_v6_send_synack() local
487 if (!dst && (dst = inet6_csk_route_req(sk, fl6, req, in tcp_v6_send_synack()
497 fl6->daddr = ireq->ir_v6_rmt_addr; in tcp_v6_send_synack()
499 fl6->flowlabel = ip6_flowlabel(ipv6_hdr(ireq->pktopts)); in tcp_v6_send_synack()
505 err = ip6_xmit(sk, skb, fl6, sk->sk_mark, opt, np->tclass); in tcp_v6_send_synack()
800 struct flowi6 fl6; in tcp_v6_send_response() local
855 memset(&fl6, 0, sizeof(fl6)); in tcp_v6_send_response()
856 fl6.daddr = ipv6_hdr(skb)->saddr; in tcp_v6_send_response()
857 fl6.saddr = ipv6_hdr(skb)->daddr; in tcp_v6_send_response()
858 fl6.flowlabel = label; in tcp_v6_send_response()
863 __tcp_v6_send_check(buff, &fl6.saddr, &fl6.daddr); in tcp_v6_send_response()
865 fl6.flowi6_proto = IPPROTO_TCP; in tcp_v6_send_response()
866 if (rt6_need_strict(&fl6.daddr) && !oif) in tcp_v6_send_response()
867 fl6.flowi6_oif = tcp_v6_iif(skb); in tcp_v6_send_response()
872 fl6.flowi6_oif = oif; in tcp_v6_send_response()
878 fl6.flowi6_mark = IP6_REPLY_MARK(net, skb->mark) ?: mark; in tcp_v6_send_response()
879 fl6.fl6_dport = t1->dest; in tcp_v6_send_response()
880 fl6.fl6_sport = t1->source; in tcp_v6_send_response()
881 fl6.flowi6_uid = sock_net_uid(net, sk && sk_fullsock(sk) ? sk : NULL); in tcp_v6_send_response()
882 security_skb_classify_flow(skb, flowi6_to_flowi(&fl6)); in tcp_v6_send_response()
888 dst = ip6_dst_lookup_flow(ctl_sk, &fl6, NULL); in tcp_v6_send_response()
891 ip6_xmit(ctl_sk, buff, &fl6, fl6.flowi6_mark, NULL, tclass); in tcp_v6_send_response()
1076 struct flowi6 fl6; in tcp_v6_syn_recv_sock() local
1138 dst = inet6_csk_route_req(sk, &fl6, req, IPPROTO_TCP); in tcp_v6_syn_recv_sock()