Lines Matching refs:fl6

1035 static int udp_v6_send_skb(struct sk_buff *skb, struct flowi6 *fl6,  in udp_v6_send_skb()  argument
1050 uh->source = fl6->fl6_sport; in udp_v6_send_skb()
1051 uh->dest = fl6->fl6_dport; in udp_v6_send_skb()
1081 udp6_hwcsum_outgoing(sk, skb, &fl6->saddr, &fl6->daddr, len); in udp_v6_send_skb()
1087 uh->check = csum_ipv6_magic(&fl6->saddr, &fl6->daddr, in udp_v6_send_skb()
1088 len, fl6->flowi6_proto, csum); in udp_v6_send_skb()
1111 struct flowi6 fl6; in udp_v6_push_pending_frames() local
1120 fl6 = inet_sk(sk)->cork.fl.u.ip6; in udp_v6_push_pending_frames()
1126 err = udp_v6_send_skb(skb, &fl6, &inet_sk(sk)->cork.base); in udp_v6_push_pending_frames()
1145 struct flowi6 fl6; in udpv6_sendmsg() local
1235 memset(&fl6, 0, sizeof(fl6)); in udpv6_sendmsg()
1241 fl6.fl6_dport = sin6->sin6_port; in udpv6_sendmsg()
1245 fl6.flowlabel = sin6->sin6_flowinfo&IPV6_FLOWINFO_MASK; in udpv6_sendmsg()
1246 if (fl6.flowlabel&IPV6_FLOWLABEL_MASK) { in udpv6_sendmsg()
1247 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); in udpv6_sendmsg()
1264 fl6.flowi6_oif = sin6->sin6_scope_id; in udpv6_sendmsg()
1269 fl6.fl6_dport = inet->inet_dport; in udpv6_sendmsg()
1271 fl6.flowlabel = np->flow_label; in udpv6_sendmsg()
1275 if (!fl6.flowi6_oif) in udpv6_sendmsg()
1276 fl6.flowi6_oif = sk->sk_bound_dev_if; in udpv6_sendmsg()
1278 if (!fl6.flowi6_oif) in udpv6_sendmsg()
1279 fl6.flowi6_oif = np->sticky_pktinfo.ipi6_ifindex; in udpv6_sendmsg()
1281 fl6.flowi6_mark = sk->sk_mark; in udpv6_sendmsg()
1282 fl6.flowi6_uid = sk->sk_uid; in udpv6_sendmsg()
1292 err = ip6_datagram_send_ctl(sock_net(sk), sk, msg, &fl6, in udpv6_sendmsg()
1298 if ((fl6.flowlabel&IPV6_FLOWLABEL_MASK) && !flowlabel) { in udpv6_sendmsg()
1299 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); in udpv6_sendmsg()
1316 fl6.flowi6_proto = sk->sk_protocol; in udpv6_sendmsg()
1318 fl6.daddr = *daddr; in udpv6_sendmsg()
1320 fl6.daddr.s6_addr[15] = 0x1; /* :: means loopback (BSD'ism) */ in udpv6_sendmsg()
1321 if (ipv6_addr_any(&fl6.saddr) && !ipv6_addr_any(&np->saddr)) in udpv6_sendmsg()
1322 fl6.saddr = np->saddr; in udpv6_sendmsg()
1323 fl6.fl6_sport = inet->inet_sport; in udpv6_sendmsg()
1327 (struct sockaddr *)sin6, &fl6.saddr); in udpv6_sendmsg()
1343 fl6.fl6_dport = sin6->sin6_port; in udpv6_sendmsg()
1344 fl6.daddr = sin6->sin6_addr; in udpv6_sendmsg()
1348 final_p = fl6_update_dst(&fl6, opt, &final); in udpv6_sendmsg()
1352 if (!fl6.flowi6_oif && ipv6_addr_is_multicast(&fl6.daddr)) { in udpv6_sendmsg()
1353 fl6.flowi6_oif = np->mcast_oif; in udpv6_sendmsg()
1355 } else if (!fl6.flowi6_oif) in udpv6_sendmsg()
1356 fl6.flowi6_oif = np->ucast_oif; in udpv6_sendmsg()
1358 security_sk_classify_flow(sk, flowi6_to_flowi(&fl6)); in udpv6_sendmsg()
1363 fl6.flowlabel = ip6_make_flowinfo(ipc6.tclass, fl6.flowlabel); in udpv6_sendmsg()
1365 dst = ip6_sk_dst_lookup_flow(sk, &fl6, final_p, connected); in udpv6_sendmsg()
1373 ipc6.hlimit = ip6_sk_dst_hoplimit(np, &fl6, dst); in udpv6_sendmsg()
1386 &fl6, (struct rt6_info *)dst, in udpv6_sendmsg()
1390 err = udp_v6_send_skb(skb, &fl6, &cork.base); in udpv6_sendmsg()
1412 &ipc6, &fl6, (struct rt6_info *)dst, in udpv6_sendmsg()
1447 dst_confirm_neigh(dst, &fl6.daddr); in udpv6_sendmsg()