Home
last modified time | relevance | path

Searched refs:fl6 (Results 1 – 25 of 41) sorted by relevance

12

/linux-3.4.99/net/ipv6/
Dinet6_connection_sock.c64 struct flowi6 fl6; in inet6_csk_route_req() local
66 memset(&fl6, 0, sizeof(fl6)); in inet6_csk_route_req()
67 fl6.flowi6_proto = IPPROTO_TCP; in inet6_csk_route_req()
68 fl6.daddr = treq->rmt_addr; in inet6_csk_route_req()
69 final_p = fl6_update_dst(&fl6, np->opt, &final); in inet6_csk_route_req()
70 fl6.saddr = treq->loc_addr; in inet6_csk_route_req()
71 fl6.flowi6_oif = sk->sk_bound_dev_if; in inet6_csk_route_req()
72 fl6.flowi6_mark = sk->sk_mark; in inet6_csk_route_req()
73 fl6.fl6_dport = inet_rsk(req)->rmt_port; in inet6_csk_route_req()
74 fl6.fl6_sport = inet_rsk(req)->loc_port; in inet6_csk_route_req()
[all …]
Dicmp.c161 struct flowi6 *fl6) in icmpv6_xrlim_allow() argument
180 dst = ip6_route_output(net, sk, fl6); in icmpv6_xrlim_allow()
220 static int icmpv6_push_pending_frames(struct sock *sk, struct flowi6 *fl6, struct icmp6hdr *thdr, i… in icmpv6_push_pending_frames() argument
236 icmp6h->icmp6_cksum = csum_ipv6_magic(&fl6->saddr, in icmpv6_push_pending_frames()
237 &fl6->daddr, in icmpv6_push_pending_frames()
238 len, fl6->flowi6_proto, in icmpv6_push_pending_frames()
249 icmp6h->icmp6_cksum = csum_ipv6_magic(&fl6->saddr, in icmpv6_push_pending_frames()
250 &fl6->daddr, in icmpv6_push_pending_frames()
251 len, fl6->flowi6_proto, in icmpv6_push_pending_frames()
304 struct sock *sk, struct flowi6 *fl6) in icmpv6_route_lookup() argument
[all …]
Dxfrm6_policy.c33 struct flowi6 fl6; in xfrm6_dst_lookup() local
37 memset(&fl6, 0, sizeof(fl6)); in xfrm6_dst_lookup()
38 memcpy(&fl6.daddr, daddr, sizeof(fl6.daddr)); in xfrm6_dst_lookup()
40 memcpy(&fl6.saddr, saddr, sizeof(fl6.saddr)); in xfrm6_dst_lookup()
42 dst = ip6_route_output(net, NULL, &fl6); in xfrm6_dst_lookup()
126 struct flowi6 *fl6 = &fl->u.ip6; in _decode_session6() local
134 memset(fl6, 0, sizeof(struct flowi6)); in _decode_session6()
135 fl6->flowi6_mark = skb->mark; in _decode_session6()
137 fl6->daddr = reverse ? hdr->saddr : hdr->daddr; in _decode_session6()
138 fl6->saddr = reverse ? hdr->daddr : hdr->saddr; in _decode_session6()
[all …]
Ddatagram.c48 struct flowi6 fl6; in ip6_datagram_connect() local
67 memset(&fl6, 0, sizeof(fl6)); in ip6_datagram_connect()
69 fl6.flowlabel = usin->sin6_flowinfo&IPV6_FLOWINFO_MASK; in ip6_datagram_connect()
70 if (fl6.flowlabel&IPV6_FLOWLABEL_MASK) { in ip6_datagram_connect()
71 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); in ip6_datagram_connect()
147 np->flow_label = fl6.flowlabel; in ip6_datagram_connect()
156 fl6.flowi6_proto = sk->sk_protocol; in ip6_datagram_connect()
157 fl6.daddr = np->daddr; in ip6_datagram_connect()
158 fl6.saddr = np->saddr; in ip6_datagram_connect()
159 fl6.flowi6_oif = sk->sk_bound_dev_if; in ip6_datagram_connect()
[all …]
Draw.c526 static int rawv6_push_pending_frames(struct sock *sk, struct flowi6 *fl6, in rawv6_push_pending_frames() argument
587 csum = csum_ipv6_magic(&fl6->saddr, &fl6->daddr, in rawv6_push_pending_frames()
588 total_len, fl6->flowi6_proto, tmp_csum); in rawv6_push_pending_frames()
590 if (csum == 0 && fl6->flowi6_proto == IPPROTO_UDP) in rawv6_push_pending_frames()
603 struct flowi6 *fl6, struct dst_entry **dstp, in rawv6_send_hdrinc() argument
615 ipv6_local_error(sk, EMSGSIZE, fl6, rt->dst.dev->mtu); in rawv6_send_hdrinc()
664 static int rawv6_probe_proto_opt(struct flowi6 *fl6, struct msghdr *msg) in rawv6_probe_proto_opt() argument
681 switch (fl6->flowi6_proto) { in rawv6_probe_proto_opt()
696 if (get_user(fl6->fl6_icmp_type, type) || in rawv6_probe_proto_opt()
697 get_user(fl6->fl6_icmp_code, code)) in rawv6_probe_proto_opt()
[all …]
Dxfrm6_output.c48 struct flowi6 fl6; in xfrm6_local_rxpmtu() local
51 fl6.flowi6_oif = sk->sk_bound_dev_if; in xfrm6_local_rxpmtu()
52 fl6.daddr = ipv6_hdr(skb)->daddr; in xfrm6_local_rxpmtu()
54 ipv6_local_rxpmtu(sk, &fl6, mtu); in xfrm6_local_rxpmtu()
59 struct flowi6 fl6; in xfrm6_local_error() local
62 fl6.fl6_dport = inet_sk(sk)->inet_dport; in xfrm6_local_error()
63 fl6.daddr = ipv6_hdr(skb)->daddr; in xfrm6_local_error()
65 ipv6_local_error(sk, EMSGSIZE, &fl6, mtu); in xfrm6_local_error()
Dsyncookies.c237 struct flowi6 fl6; in cookie_v6_check() local
238 memset(&fl6, 0, sizeof(fl6)); in cookie_v6_check()
239 fl6.flowi6_proto = IPPROTO_TCP; in cookie_v6_check()
240 fl6.daddr = ireq6->rmt_addr; in cookie_v6_check()
241 final_p = fl6_update_dst(&fl6, np->opt, &final); in cookie_v6_check()
242 fl6.saddr = ireq6->loc_addr; in cookie_v6_check()
243 fl6.flowi6_oif = sk->sk_bound_dev_if; in cookie_v6_check()
244 fl6.flowi6_mark = sk->sk_mark; in cookie_v6_check()
245 fl6.fl6_dport = inet_rsk(req)->rmt_port; in cookie_v6_check()
246 fl6.fl6_sport = inet_sk(sk)->inet_sport; in cookie_v6_check()
[all …]
Dudp.c895 struct flowi6 *fl6; in udp_v6_push_pending_frames() local
903 fl6 = &inet->cork.fl.u.ip6; in udp_v6_push_pending_frames()
913 uh->source = fl6->fl6_sport; in udp_v6_push_pending_frames()
914 uh->dest = fl6->fl6_dport; in udp_v6_push_pending_frames()
921 udp6_hwcsum_outgoing(sk, skb, &fl6->saddr, &fl6->daddr, in udp_v6_push_pending_frames()
928 uh->check = csum_ipv6_magic(&fl6->saddr, &fl6->daddr, in udp_v6_push_pending_frames()
929 up->len, fl6->flowi6_proto, csum); in udp_v6_push_pending_frames()
961 struct flowi6 fl6; in udpv6_sendmsg() local
1044 memset(&fl6, 0, sizeof(fl6)); in udpv6_sendmsg()
1050 fl6.fl6_dport = sin6->sin6_port; in udpv6_sendmsg()
[all …]
Dtcp_ipv6.c136 struct flowi6 fl6; in tcp_v6_connect() local
147 memset(&fl6, 0, sizeof(fl6)); in tcp_v6_connect()
150 fl6.flowlabel = usin->sin6_flowinfo&IPV6_FLOWINFO_MASK; in tcp_v6_connect()
151 IP6_ECN_flow_init(fl6.flowlabel); in tcp_v6_connect()
152 if (fl6.flowlabel&IPV6_FLOWLABEL_MASK) { in tcp_v6_connect()
154 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); in tcp_v6_connect()
200 np->flow_label = fl6.flowlabel; in tcp_v6_connect()
247 fl6.flowi6_proto = IPPROTO_TCP; in tcp_v6_connect()
248 fl6.daddr = np->daddr; in tcp_v6_connect()
249 fl6.saddr = saddr ? *saddr : np->saddr; in tcp_v6_connect()
[all …]
Dxfrm6_state.c26 const struct flowi6 *fl6 = &fl->u.ip6; in __xfrm6_init_tempsel() local
30 *(struct in6_addr *)&sel->daddr = fl6->daddr; in __xfrm6_init_tempsel()
31 *(struct in6_addr *)&sel->saddr = fl6->saddr; in __xfrm6_init_tempsel()
32 sel->dport = xfrm_flowi_dport(fl, &fl6->uli); in __xfrm6_init_tempsel()
34 sel->sport = xfrm_flowi_sport(fl, &fl6->uli); in __xfrm6_init_tempsel()
39 sel->proto = fl6->flowi6_proto; in __xfrm6_init_tempsel()
40 sel->ifindex = fl6->flowi6_oif; in __xfrm6_init_tempsel()
Dip6_output.c182 int ip6_xmit(struct sock *sk, struct sk_buff *skb, struct flowi6 *fl6, in ip6_xmit() argument
187 struct in6_addr *first_hop = &fl6->daddr; in ip6_xmit()
190 u8 proto = fl6->flowi6_proto; in ip6_xmit()
235 *(__be32 *)hdr = htonl(0x60000000 | (tclass << 20)) | fl6->flowlabel; in ip6_xmit()
241 hdr->saddr = fl6->saddr; in ip6_xmit()
918 const struct flowi6 *fl6) in ip6_sk_dst_check() argument
949 if (ip6_rt_check(&rt->rt6i_dst, &fl6->daddr, np->daddr_cache) || in ip6_sk_dst_check()
951 ip6_rt_check(&rt->rt6i_src, &fl6->saddr, np->saddr_cache) || in ip6_sk_dst_check()
953 (fl6->flowi6_oif && fl6->flowi6_oif != dst->dev->ifindex)) { in ip6_sk_dst_check()
963 struct dst_entry **dst, struct flowi6 *fl6) in ip6_dst_lookup_tail() argument
[all …]
Dip6_tunnel.c886 struct flowi6 *fl6, in ip6_tnl_xmit2() argument
903 if (!fl6->flowi6_mark) in ip6_tnl_xmit2()
906 ndst = ip6_route_output(net, NULL, fl6); in ip6_tnl_xmit2()
910 ndst = xfrm_lookup(net, ndst, flowi6_to_flowi(fl6), NULL, 0); in ip6_tnl_xmit2()
962 if (fl6->flowi6_mark) { in ip6_tnl_xmit2()
970 proto = fl6->flowi6_proto; in ip6_tnl_xmit2()
978 *(__be32*)ipv6h = fl6->flowlabel | htonl(0x60000000); in ip6_tnl_xmit2()
983 ipv6h->saddr = fl6->saddr; in ip6_tnl_xmit2()
984 ipv6h->daddr = fl6->daddr; in ip6_tnl_xmit2()
1015 struct flowi6 fl6; in ip4ip6_tnl_xmit() local
[all …]
Droute.c670 struct flowi6 *fl6, int flags) in ip6_pol_route_lookup() argument
676 fn = fib6_lookup(&table->tb6_root, &fl6->daddr, &fl6->saddr); in ip6_pol_route_lookup()
679 rt = rt6_device_match(net, rt, &fl6->saddr, fl6->flowi6_oif, flags); in ip6_pol_route_lookup()
680 BACKTRACK(net, &fl6->saddr); in ip6_pol_route_lookup()
688 struct dst_entry * ip6_route_lookup(struct net *net, struct flowi6 *fl6, in ip6_route_lookup() argument
691 return fib6_rule_lookup(net, fl6, flags, ip6_pol_route_lookup); in ip6_route_lookup()
698 struct flowi6 fl6 = { in rt6_lookup() local
706 memcpy(&fl6.saddr, saddr, sizeof(*saddr)); in rt6_lookup()
710 dst = fib6_rule_lookup(net, &fl6, flags, ip6_pol_route_lookup); in rt6_lookup()
824 struct flowi6 *fl6, int flags, bool input) in ip6_pol_route() argument
[all …]
Dfib6_rules.c33 struct dst_entry *fib6_rule_lookup(struct net *net, struct flowi6 *fl6, in fib6_rule_lookup() argument
42 flowi6_to_flowi(fl6), flags, &arg); in fib6_rule_lookup()
119 struct flowi6 *fl6 = &fl->u.ip6; in fib6_rule_match() local
122 !ipv6_prefix_equal(&fl6->daddr, &r->dst.addr, r->dst.plen)) in fib6_rule_match()
132 if (!ipv6_prefix_equal(&fl6->saddr, &r->src.addr, in fib6_rule_match()
139 if (r->tclass && r->tclass != ((ntohl(fl6->flowlabel) >> 20) & 0xff)) in fib6_rule_match()
Dnetfilter.c19 struct flowi6 fl6 = { in ip6_route_me_harder() local
26 dst = ip6_route_output(net, skb->sk, &fl6); in ip6_route_me_harder()
41 xfrm_decode_session(skb, flowi6_to_flowi(&fl6), AF_INET6) == 0) { in ip6_route_me_harder()
43 dst = xfrm_lookup(net, dst, flowi6_to_flowi(&fl6), skb->sk, 0); in ip6_route_me_harder()
Dmip6.c213 const struct flowi6 *fl6 = &fl->u.ip6; in mip6_destopt_reject() local
220 if (unlikely(fl6->flowi6_proto == IPPROTO_MH && in mip6_destopt_reject()
221 fl6->fl6_mh_type <= IP6_MH_TYPE_MAX)) in mip6_destopt_reject()
246 sel.proto = fl6->flowi6_proto; in mip6_destopt_reject()
247 sel.dport = xfrm_flowi_dport(fl, &fl6->uli); in mip6_destopt_reject()
250 sel.sport = xfrm_flowi_sport(fl, &fl6->uli); in mip6_destopt_reject()
253 sel.ifindex = fl6->flowi6_oif; in mip6_destopt_reject()
Daf_inet6.c659 struct flowi6 fl6; in inet6_sk_rebuild_header() local
661 memset(&fl6, 0, sizeof(fl6)); in inet6_sk_rebuild_header()
662 fl6.flowi6_proto = sk->sk_protocol; in inet6_sk_rebuild_header()
663 fl6.daddr = np->daddr; in inet6_sk_rebuild_header()
664 fl6.saddr = np->saddr; in inet6_sk_rebuild_header()
665 fl6.flowlabel = np->flow_label; in inet6_sk_rebuild_header()
666 fl6.flowi6_oif = sk->sk_bound_dev_if; in inet6_sk_rebuild_header()
667 fl6.flowi6_mark = sk->sk_mark; in inet6_sk_rebuild_header()
668 fl6.fl6_dport = inet->inet_dport; in inet6_sk_rebuild_header()
669 fl6.fl6_sport = inet->inet_sport; in inet6_sk_rebuild_header()
[all …]
/linux-3.4.99/net/dccp/
Dipv6.c145 struct flowi6 fl6; in dccp_v6_err() local
151 memset(&fl6, 0, sizeof(fl6)); in dccp_v6_err()
152 fl6.flowi6_proto = IPPROTO_DCCP; in dccp_v6_err()
153 fl6.daddr = np->daddr; in dccp_v6_err()
154 fl6.saddr = np->saddr; in dccp_v6_err()
155 fl6.flowi6_oif = sk->sk_bound_dev_if; in dccp_v6_err()
156 fl6.fl6_dport = inet->inet_dport; in dccp_v6_err()
157 fl6.fl6_sport = inet->inet_sport; in dccp_v6_err()
158 security_sk_classify_flow(sk, flowi6_to_flowi(&fl6)); in dccp_v6_err()
160 dst = ip6_dst_lookup_flow(sk, &fl6, NULL, false); in dccp_v6_err()
[all …]
/linux-3.4.99/net/ipv6/netfilter/
Dip6t_REJECT.c53 struct flowi6 fl6; in send_reset() local
95 memset(&fl6, 0, sizeof(fl6)); in send_reset()
96 fl6.flowi6_proto = IPPROTO_TCP; in send_reset()
97 fl6.saddr = oip6h->daddr; in send_reset()
98 fl6.daddr = oip6h->saddr; in send_reset()
99 fl6.fl6_sport = otcph.dest; in send_reset()
100 fl6.fl6_dport = otcph.source; in send_reset()
101 security_skb_classify_flow(oldskb, flowi6_to_flowi(&fl6)); in send_reset()
102 dst = ip6_route_output(net, NULL, &fl6); in send_reset()
107 dst = xfrm_lookup(net, dst, flowi6_to_flowi(&fl6), NULL, 0); in send_reset()
Dip6t_rpfilter.c35 struct flowi6 fl6 = { in rpfilter_lookup_reverse6() local
43 memcpy(&fl6.saddr, &iph->daddr, sizeof(struct in6_addr)); in rpfilter_lookup_reverse6()
49 fl6.flowi6_mark = flags & XT_RPFILTER_VALID_MARK ? skb->mark : 0; in rpfilter_lookup_reverse6()
51 fl6.flowi6_oif = dev->ifindex; in rpfilter_lookup_reverse6()
55 rt = (void *) ip6_route_lookup(dev_net(dev), &fl6, lookup_flags); in rpfilter_lookup_reverse6()
/linux-3.4.99/net/sctp/
Dipv6.c212 struct flowi6 *fl6 = &transport->fl.u.ip6; in sctp_v6_xmit() local
216 &fl6->saddr, &fl6->daddr); in sctp_v6_xmit()
218 IP6_ECN_flow_xmit(sk, fl6->flowlabel); in sctp_v6_xmit()
225 return ip6_xmit(sk, skb, fl6, np->opt, np->tclass); in sctp_v6_xmit()
236 struct flowi6 *fl6 = &fl->u.ip6; in sctp_v6_get_dst() local
248 memset(fl6, 0, sizeof(struct flowi6)); in sctp_v6_get_dst()
249 fl6->daddr = daddr->v6.sin6_addr; in sctp_v6_get_dst()
250 fl6->fl6_dport = daddr->v6.sin6_port; in sctp_v6_get_dst()
251 fl6->flowi6_proto = IPPROTO_SCTP; in sctp_v6_get_dst()
253 fl6->flowi6_oif = daddr->v6.sin6_scope_id; in sctp_v6_get_dst()
[all …]
/linux-3.4.99/drivers/infiniband/core/
Daddr.c251 struct flowi6 fl6; in addr6_resolve() local
255 memset(&fl6, 0, sizeof fl6); in addr6_resolve()
256 fl6.daddr = dst_in->sin6_addr; in addr6_resolve()
257 fl6.saddr = src_in->sin6_addr; in addr6_resolve()
258 fl6.flowi6_oif = addr->bound_dev_if; in addr6_resolve()
260 dst = ip6_route_output(&init_net, NULL, &fl6); in addr6_resolve()
264 if (ipv6_addr_any(&fl6.saddr)) { in addr6_resolve()
266 &fl6.daddr, 0, &fl6.saddr); in addr6_resolve()
271 src_in->sin6_addr = fl6.saddr; in addr6_resolve()
287 ret = dst_fetch_ha(dst, addr, &fl6.daddr); in addr6_resolve()
/linux-3.4.99/net/netfilter/
Dxt_TEE.c143 struct flowi6 fl6; in tee_tg_route6() local
145 memset(&fl6, 0, sizeof(fl6)); in tee_tg_route6()
149 fl6.flowi6_oif = info->priv->oif; in tee_tg_route6()
151 fl6.daddr = info->gw.in6; in tee_tg_route6()
152 fl6.flowlabel = ((iph->flow_lbl[0] & 0xF) << 16) | in tee_tg_route6()
154 dst = ip6_route_output(net, NULL, &fl6); in tee_tg_route6()
/linux-3.4.99/include/net/
Dipv6.h504 struct flowi6 *fl6,
525 struct flowi6 *fl6,
536 struct flowi6 *fl6);
538 struct flowi6 *fl6,
542 struct flowi6 *fl6,
579 extern struct in6_addr *fl6_update_dst(struct flowi6 *fl6,
615 extern void ipv6_local_error(struct sock *sk, int err, struct flowi6 *fl6, u32 info);
616 extern void ipv6_local_rxpmtu(struct sock *sk, struct flowi6 *fl6, u32 mtu);
Dip6_route.h77 struct flowi6 *fl6);
79 struct flowi6 *fl6, int flags);
105 struct flowi6 *fl6);

12