Lines Matching refs:fl6
122 struct flowi6 fl6; in tcp_v6_connect() local
133 memset(&fl6, 0, sizeof(fl6)); in tcp_v6_connect()
136 fl6.flowlabel = usin->sin6_flowinfo&IPV6_FLOWINFO_MASK; in tcp_v6_connect()
137 IP6_ECN_flow_init(fl6.flowlabel); in tcp_v6_connect()
138 if (fl6.flowlabel&IPV6_FLOWLABEL_MASK) { in tcp_v6_connect()
140 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); in tcp_v6_connect()
190 np->flow_label = fl6.flowlabel; in tcp_v6_connect()
234 fl6.flowi6_proto = IPPROTO_TCP; in tcp_v6_connect()
235 fl6.daddr = sk->sk_v6_daddr; in tcp_v6_connect()
236 fl6.saddr = saddr ? *saddr : np->saddr; in tcp_v6_connect()
237 fl6.flowi6_oif = sk->sk_bound_dev_if; in tcp_v6_connect()
238 fl6.flowi6_mark = sk->sk_mark; in tcp_v6_connect()
239 fl6.fl6_dport = usin->sin6_port; in tcp_v6_connect()
240 fl6.fl6_sport = inet->inet_sport; in tcp_v6_connect()
241 fl6.flowi6_uid = sk->sk_uid; in tcp_v6_connect()
244 final_p = fl6_update_dst(&fl6, opt, &final); in tcp_v6_connect()
246 security_sk_classify_flow(sk, flowi6_to_flowi(&fl6)); in tcp_v6_connect()
248 dst = ip6_dst_lookup_flow(sk, &fl6, final_p); in tcp_v6_connect()
255 saddr = &fl6.saddr; in tcp_v6_connect()
268 ipv6_addr_equal(&fl6.daddr, &sk->sk_v6_daddr)) in tcp_v6_connect()
459 struct flowi6 *fl6 = &fl->u.ip6; in tcp_v6_send_synack() local
464 if (!dst && (dst = inet6_csk_route_req(sk, fl6, req, in tcp_v6_send_synack()
474 fl6->daddr = ireq->ir_v6_rmt_addr; in tcp_v6_send_synack()
476 fl6->flowlabel = ip6_flowlabel(ipv6_hdr(ireq->pktopts)); in tcp_v6_send_synack()
482 err = ip6_xmit(sk, skb, fl6, sk->sk_mark, opt, np->tclass); in tcp_v6_send_synack()
766 struct flowi6 fl6; in tcp_v6_send_response() local
820 memset(&fl6, 0, sizeof(fl6)); in tcp_v6_send_response()
821 fl6.daddr = ipv6_hdr(skb)->saddr; in tcp_v6_send_response()
822 fl6.saddr = ipv6_hdr(skb)->daddr; in tcp_v6_send_response()
823 fl6.flowlabel = label; in tcp_v6_send_response()
828 __tcp_v6_send_check(buff, &fl6.saddr, &fl6.daddr); in tcp_v6_send_response()
830 fl6.flowi6_proto = IPPROTO_TCP; in tcp_v6_send_response()
831 if (rt6_need_strict(&fl6.daddr) && !oif) in tcp_v6_send_response()
832 fl6.flowi6_oif = tcp_v6_iif(skb); in tcp_v6_send_response()
837 fl6.flowi6_oif = oif; in tcp_v6_send_response()
840 fl6.flowi6_mark = IP6_REPLY_MARK(net, skb->mark); in tcp_v6_send_response()
841 fl6.fl6_dport = t1->dest; in tcp_v6_send_response()
842 fl6.fl6_sport = t1->source; in tcp_v6_send_response()
843 fl6.flowi6_uid = sock_net_uid(net, sk && sk_fullsock(sk) ? sk : NULL); in tcp_v6_send_response()
844 security_skb_classify_flow(skb, flowi6_to_flowi(&fl6)); in tcp_v6_send_response()
850 dst = ip6_dst_lookup_flow(ctl_sk, &fl6, NULL); in tcp_v6_send_response()
853 ip6_xmit(ctl_sk, buff, &fl6, fl6.flowi6_mark, NULL, tclass); in tcp_v6_send_response()
1030 struct flowi6 fl6; in tcp_v6_syn_recv_sock() local
1092 dst = inet6_csk_route_req(sk, &fl6, req, IPPROTO_TCP); in tcp_v6_syn_recv_sock()