Lines Matching refs:fl6

155 	struct flowi6 fl6;  in tcp_v6_connect()  local
167 memset(&fl6, 0, sizeof(fl6)); in tcp_v6_connect()
170 fl6.flowlabel = usin->sin6_flowinfo&IPV6_FLOWINFO_MASK; in tcp_v6_connect()
171 IP6_ECN_flow_init(fl6.flowlabel); in tcp_v6_connect()
172 if (fl6.flowlabel&IPV6_FLOWLABEL_MASK) { in tcp_v6_connect()
174 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); in tcp_v6_connect()
223 np->flow_label = fl6.flowlabel; in tcp_v6_connect()
269 fl6.flowi6_proto = IPPROTO_TCP; in tcp_v6_connect()
270 fl6.daddr = sk->sk_v6_daddr; in tcp_v6_connect()
271 fl6.saddr = saddr ? *saddr : np->saddr; in tcp_v6_connect()
272 fl6.flowi6_oif = sk->sk_bound_dev_if; in tcp_v6_connect()
273 fl6.flowi6_mark = sk->sk_mark; in tcp_v6_connect()
274 fl6.fl6_dport = usin->sin6_port; in tcp_v6_connect()
275 fl6.fl6_sport = inet->inet_sport; in tcp_v6_connect()
276 fl6.flowi6_uid = sk->sk_uid; in tcp_v6_connect()
279 final_p = fl6_update_dst(&fl6, opt, &final); in tcp_v6_connect()
281 security_sk_classify_flow(sk, flowi6_to_flowi_common(&fl6)); in tcp_v6_connect()
283 dst = ip6_dst_lookup_flow(sock_net(sk), sk, &fl6, final_p); in tcp_v6_connect()
290 saddr = &fl6.saddr; in tcp_v6_connect()
527 struct flowi6 *fl6 = &fl->u.ip6; in tcp_v6_send_synack() local
533 if (!dst && (dst = inet6_csk_route_req(sk, fl6, req, in tcp_v6_send_synack()
543 fl6->daddr = ireq->ir_v6_rmt_addr; in tcp_v6_send_synack()
545 fl6->flowlabel = ip6_flowlabel(ipv6_hdr(ireq->pktopts)); in tcp_v6_send_synack()
560 err = ip6_xmit(sk, skb, fl6, skb->mark ? : sk->sk_mark, opt, in tcp_v6_send_synack()
890 struct flowi6 fl6; in tcp_v6_send_response() local
945 memset(&fl6, 0, sizeof(fl6)); in tcp_v6_send_response()
946 fl6.daddr = ipv6_hdr(skb)->saddr; in tcp_v6_send_response()
947 fl6.saddr = ipv6_hdr(skb)->daddr; in tcp_v6_send_response()
948 fl6.flowlabel = label; in tcp_v6_send_response()
953 __tcp_v6_send_check(buff, &fl6.saddr, &fl6.daddr); in tcp_v6_send_response()
955 fl6.flowi6_proto = IPPROTO_TCP; in tcp_v6_send_response()
956 if (rt6_need_strict(&fl6.daddr) && !oif) in tcp_v6_send_response()
957 fl6.flowi6_oif = tcp_v6_iif(skb); in tcp_v6_send_response()
962 fl6.flowi6_oif = oif; in tcp_v6_send_response()
976 fl6.flowi6_mark = IP6_REPLY_MARK(net, skb->mark) ?: mark; in tcp_v6_send_response()
977 fl6.fl6_dport = t1->dest; in tcp_v6_send_response()
978 fl6.fl6_sport = t1->source; in tcp_v6_send_response()
979 fl6.flowi6_uid = sock_net_uid(net, sk && sk_fullsock(sk) ? sk : NULL); in tcp_v6_send_response()
980 security_skb_classify_flow(skb, flowi6_to_flowi_common(&fl6)); in tcp_v6_send_response()
986 dst = ip6_dst_lookup_flow(sock_net(ctl_sk), ctl_sk, &fl6, NULL); in tcp_v6_send_response()
989 ip6_xmit(ctl_sk, buff, &fl6, fl6.flowi6_mark, NULL, in tcp_v6_send_response()
1231 struct flowi6 fl6; in tcp_v6_syn_recv_sock() local
1294 dst = inet6_csk_route_req(sk, &fl6, req, IPPROTO_TCP); in tcp_v6_syn_recv_sock()