Home
last modified time | relevance | path

Searched refs:fl (Results 1 – 25 of 66) sorted by relevance

123

/net/ipv6/
Dip6_flowlabel.c67 struct ip6_flowlabel *fl; in __fl_lookup() local
69 for (fl=fl_ht[FL_HASH(label)]; fl; fl = fl->next) { in __fl_lookup()
70 if (fl->label == label && fl->fl_net == net) in __fl_lookup()
71 return fl; in __fl_lookup()
78 struct ip6_flowlabel *fl; in fl_lookup() local
81 fl = __fl_lookup(net, label); in fl_lookup()
82 if (fl) in fl_lookup()
83 atomic_inc(&fl->users); in fl_lookup()
85 return fl; in fl_lookup()
89 static void fl_free(struct ip6_flowlabel *fl) in fl_free() argument
[all …]
Dicmp.c165 struct flowi *fl) in icmpv6_xrlim_allow() argument
184 dst = ip6_route_output(net, sk, fl); in icmpv6_xrlim_allow()
222 static int icmpv6_push_pending_frames(struct sock *sk, struct flowi *fl, struct icmp6hdr *thdr, int… in icmpv6_push_pending_frames() argument
238 icmp6h->icmp6_cksum = csum_ipv6_magic(&fl->fl6_src, in icmpv6_push_pending_frames()
239 &fl->fl6_dst, in icmpv6_push_pending_frames()
240 len, fl->proto, in icmpv6_push_pending_frames()
251 icmp6h->icmp6_cksum = csum_ipv6_magic(&fl->fl6_src, in icmpv6_push_pending_frames()
252 &fl->fl6_dst, in icmpv6_push_pending_frames()
253 len, fl->proto, in icmpv6_push_pending_frames()
320 struct flowi fl; in icmpv6_send() local
[all …]
Dxfrm6_policy.c34 struct flowi fl = {}; in xfrm6_dst_lookup() local
38 memcpy(&fl.fl6_dst, daddr, sizeof(fl.fl6_dst)); in xfrm6_dst_lookup()
40 memcpy(&fl.fl6_src, saddr, sizeof(fl.fl6_src)); in xfrm6_dst_lookup()
42 dst = ip6_route_output(net, NULL, &fl); in xfrm6_dst_lookup()
72 __xfrm6_find_bundle(struct flowi *fl, struct xfrm_policy *policy) in __xfrm6_find_bundle() argument
83 &fl->fl6_dst, in __xfrm6_find_bundle()
86 &fl->fl6_src, in __xfrm6_find_bundle()
90 xfrm_bundle_ok(policy, xdst, fl, AF_INET6, in __xfrm6_find_bundle()
101 static int xfrm6_get_tos(struct flowi *fl) in xfrm6_get_tos() argument
147 _decode_session6(struct sk_buff *skb, struct flowi *fl, int reverse) in _decode_session6() argument
[all …]
Dinet6_connection_sock.c186 struct flowi fl; in inet6_csk_xmit() local
190 memset(&fl, 0, sizeof(fl)); in inet6_csk_xmit()
191 fl.proto = sk->sk_protocol; in inet6_csk_xmit()
192 ipv6_addr_copy(&fl.fl6_dst, &np->daddr); in inet6_csk_xmit()
193 ipv6_addr_copy(&fl.fl6_src, &np->saddr); in inet6_csk_xmit()
194 fl.fl6_flowlabel = np->flow_label; in inet6_csk_xmit()
195 IP6_ECN_flow_xmit(sk, fl.fl6_flowlabel); in inet6_csk_xmit()
196 fl.oif = sk->sk_bound_dev_if; in inet6_csk_xmit()
197 fl.fl_ip_sport = inet->sport; in inet6_csk_xmit()
198 fl.fl_ip_dport = inet->dport; in inet6_csk_xmit()
[all …]
Ddatagram.c42 struct flowi fl; in ip6_datagram_connect() local
60 memset(&fl, 0, sizeof(fl)); in ip6_datagram_connect()
62 fl.fl6_flowlabel = usin->sin6_flowinfo&IPV6_FLOWINFO_MASK; in ip6_datagram_connect()
63 if (fl.fl6_flowlabel&IPV6_FLOWLABEL_MASK) { in ip6_datagram_connect()
64 flowlabel = fl6_sock_lookup(sk, fl.fl6_flowlabel); in ip6_datagram_connect()
137 np->flow_label = fl.fl6_flowlabel; in ip6_datagram_connect()
146 fl.proto = sk->sk_protocol; in ip6_datagram_connect()
147 ipv6_addr_copy(&fl.fl6_dst, &np->daddr); in ip6_datagram_connect()
148 ipv6_addr_copy(&fl.fl6_src, &np->saddr); in ip6_datagram_connect()
149 fl.oif = sk->sk_bound_dev_if; in ip6_datagram_connect()
[all …]
Dudp.c620 struct flowi *fl = &inet->cork.fl; in udp_v6_push_pending_frames() local
633 uh->source = fl->fl_ip_sport; in udp_v6_push_pending_frames()
634 uh->dest = fl->fl_ip_dport; in udp_v6_push_pending_frames()
644 uh->check = csum_ipv6_magic(&fl->fl6_src, &fl->fl6_dst, in udp_v6_push_pending_frames()
645 up->len, fl->proto, csum ); in udp_v6_push_pending_frames()
670 struct flowi fl; in udpv6_sendmsg() local
752 memset(&fl, 0, sizeof(fl)); in udpv6_sendmsg()
758 fl.fl_ip_dport = sin6->sin6_port; in udpv6_sendmsg()
762 fl.fl6_flowlabel = sin6->sin6_flowinfo&IPV6_FLOWINFO_MASK; in udpv6_sendmsg()
763 if (fl.fl6_flowlabel&IPV6_FLOWLABEL_MASK) { in udpv6_sendmsg()
[all …]
Dtcp_ipv6.c129 struct flowi fl; in tcp_v6_connect() local
140 memset(&fl, 0, sizeof(fl)); in tcp_v6_connect()
143 fl.fl6_flowlabel = usin->sin6_flowinfo&IPV6_FLOWINFO_MASK; in tcp_v6_connect()
144 IP6_ECN_flow_init(fl.fl6_flowlabel); in tcp_v6_connect()
145 if (fl.fl6_flowlabel&IPV6_FLOWLABEL_MASK) { in tcp_v6_connect()
147 flowlabel = fl6_sock_lookup(sk, fl.fl6_flowlabel); in tcp_v6_connect()
193 np->flow_label = fl.fl6_flowlabel; in tcp_v6_connect()
241 fl.proto = IPPROTO_TCP; in tcp_v6_connect()
242 ipv6_addr_copy(&fl.fl6_dst, &np->daddr); in tcp_v6_connect()
243 ipv6_addr_copy(&fl.fl6_src, in tcp_v6_connect()
[all …]
Draw.c525 static int rawv6_push_pending_frames(struct sock *sk, struct flowi *fl, in rawv6_push_pending_frames() argument
587 csum = csum_ipv6_magic(&fl->fl6_src, in rawv6_push_pending_frames()
588 &fl->fl6_dst, in rawv6_push_pending_frames()
589 total_len, fl->proto, tmp_csum); in rawv6_push_pending_frames()
591 if (csum == 0 && fl->proto == IPPROTO_UDP) in rawv6_push_pending_frames()
604 struct flowi *fl, struct rt6_info *rt, in rawv6_send_hdrinc() argument
613 ipv6_local_error(sk, EMSGSIZE, fl, rt->u.dst.dev->mtu); in rawv6_send_hdrinc()
659 static int rawv6_probe_proto_opt(struct flowi *fl, struct msghdr *msg) in rawv6_probe_proto_opt() argument
676 switch (fl->proto) { in rawv6_probe_proto_opt()
691 if (get_user(fl->fl_icmp_type, type) || in rawv6_probe_proto_opt()
[all …]
Dsyncookies.c242 struct flowi fl; in cookie_v6_check() local
243 memset(&fl, 0, sizeof(fl)); in cookie_v6_check()
244 fl.proto = IPPROTO_TCP; in cookie_v6_check()
245 ipv6_addr_copy(&fl.fl6_dst, &ireq6->rmt_addr); in cookie_v6_check()
248 ipv6_addr_copy(&final, &fl.fl6_dst); in cookie_v6_check()
249 ipv6_addr_copy(&fl.fl6_dst, rt0->addr); in cookie_v6_check()
252 ipv6_addr_copy(&fl.fl6_src, &ireq6->loc_addr); in cookie_v6_check()
253 fl.oif = sk->sk_bound_dev_if; in cookie_v6_check()
254 fl.fl_ip_dport = inet_rsk(req)->rmt_port; in cookie_v6_check()
255 fl.fl_ip_sport = inet_sk(sk)->sport; in cookie_v6_check()
[all …]
Dip6_tunnel.c500 struct flowi fl; in ip4ip6_err() local
542 memset(&fl, 0, sizeof(fl)); in ip4ip6_err()
543 fl.fl4_dst = eiph->saddr; in ip4ip6_err()
544 fl.fl4_tos = RT_TOS(eiph->tos); in ip4ip6_err()
545 fl.proto = IPPROTO_IPIP; in ip4ip6_err()
546 if (ip_route_output_key(dev_net(skb->dev), &rt, &fl)) in ip4ip6_err()
555 fl.fl4_dst = eiph->daddr; in ip4ip6_err()
556 fl.fl4_src = eiph->saddr; in ip4ip6_err()
557 fl.fl4_tos = eiph->tos; in ip4ip6_err()
558 if (ip_route_output_key(dev_net(skb->dev), &rt, &fl) || in ip4ip6_err()
[all …]
Dxfrm6_state.c23 __xfrm6_init_tempsel(struct xfrm_state *x, struct flowi *fl, in __xfrm6_init_tempsel() argument
29 ipv6_addr_copy((struct in6_addr *)&x->sel.daddr, &fl->fl6_dst); in __xfrm6_init_tempsel()
30 ipv6_addr_copy((struct in6_addr *)&x->sel.saddr, &fl->fl6_src); in __xfrm6_init_tempsel()
31 x->sel.dport = xfrm_flowi_dport(fl); in __xfrm6_init_tempsel()
33 x->sel.sport = xfrm_flowi_sport(fl); in __xfrm6_init_tempsel()
38 x->sel.proto = fl->proto; in __xfrm6_init_tempsel()
39 x->sel.ifindex = fl->oif; in __xfrm6_init_tempsel()
Dip6_output.c198 int ip6_xmit(struct sock *sk, struct sk_buff *skb, struct flowi *fl, in ip6_xmit() argument
203 struct in6_addr *first_hop = &fl->fl6_dst; in ip6_xmit()
206 u8 proto = fl->proto; in ip6_xmit()
264 *(__be32 *)hdr = htonl(0x60000000 | (tclass << 20)) | fl->fl6_flowlabel; in ip6_xmit()
270 ipv6_addr_copy(&hdr->saddr, &fl->fl6_src); in ip6_xmit()
900 struct flowi *fl) in ip6_sk_dst_check() argument
925 if (ip6_rt_check(&rt->rt6i_dst, &fl->fl6_dst, np->daddr_cache) || in ip6_sk_dst_check()
927 ip6_rt_check(&rt->rt6i_src, &fl->fl6_src, np->saddr_cache) || in ip6_sk_dst_check()
929 (fl->oif && fl->oif != dst->dev->ifindex)) { in ip6_sk_dst_check()
939 struct dst_entry **dst, struct flowi *fl) in ip6_dst_lookup_tail() argument
[all …]
Dnetfilter.c18 struct flowi fl = { in ip6_route_me_harder() local
27 dst = ip6_route_output(net, skb->sk, &fl); in ip6_route_me_harder()
31 xfrm_decode_session(skb, &fl, AF_INET6) == 0) in ip6_route_me_harder()
32 if (xfrm_lookup(net, &skb->dst, &fl, skb->sk, 0)) in ip6_route_me_harder()
91 static int nf_ip6_route(struct dst_entry **dst, struct flowi *fl) in nf_ip6_route() argument
93 *dst = ip6_route_output(&init_net, NULL, fl); in nf_ip6_route()
Droute.c543 struct flowi *fl, int flags) in ip6_pol_route_lookup() argument
549 fn = fib6_lookup(&table->tb6_root, &fl->fl6_dst, &fl->fl6_src); in ip6_pol_route_lookup()
552 rt = rt6_device_match(net, rt, &fl->fl6_src, fl->oif, flags); in ip6_pol_route_lookup()
553 BACKTRACK(net, &fl->fl6_src); in ip6_pol_route_lookup()
564 struct flowi fl = { in rt6_lookup() local
576 memcpy(&fl.fl6_src, saddr, sizeof(*saddr)); in rt6_lookup()
580 dst = fib6_rule_lookup(net, &fl, flags, ip6_pol_route_lookup); in rt6_lookup()
701 struct flowi *fl, int flags) in ip6_pol_route() argument
716 fn = fib6_lookup(&table->tb6_root, &fl->fl6_dst, &fl->fl6_src); in ip6_pol_route()
721 BACKTRACK(net, &fl->fl6_src); in ip6_pol_route()
[all …]
/net/ipv4/
Dxfrm4_policy.c25 struct flowi fl = { in xfrm4_dst_lookup() local
38 fl.fl4_src = saddr->a4; in xfrm4_dst_lookup()
40 err = __ip_route_output_key(net, &rt, &fl); in xfrm4_dst_lookup()
64 __xfrm4_find_bundle(struct flowi *fl, struct xfrm_policy *policy) in __xfrm4_find_bundle() argument
71 if (xdst->u.rt.fl.oif == fl->oif && /*XXX*/ in __xfrm4_find_bundle()
72 xdst->u.rt.fl.fl4_dst == fl->fl4_dst && in __xfrm4_find_bundle()
73 xdst->u.rt.fl.fl4_src == fl->fl4_src && in __xfrm4_find_bundle()
74 xdst->u.rt.fl.fl4_tos == fl->fl4_tos && in __xfrm4_find_bundle()
75 xfrm_bundle_ok(policy, xdst, fl, AF_INET, 0)) { in __xfrm4_find_bundle()
84 static int xfrm4_get_tos(struct flowi *fl) in xfrm4_get_tos() argument
[all …]
Dnetfilter.c18 struct flowi fl = {}; in ip_route_me_harder() local
33 fl.nl_u.ip4_u.daddr = iph->daddr; in ip_route_me_harder()
35 fl.nl_u.ip4_u.saddr = iph->saddr; in ip_route_me_harder()
36 fl.nl_u.ip4_u.tos = RT_TOS(iph->tos); in ip_route_me_harder()
37 fl.oif = skb->sk ? skb->sk->sk_bound_dev_if : 0; in ip_route_me_harder()
38 fl.mark = skb->mark; in ip_route_me_harder()
39 fl.flags = skb->sk ? inet_sk_flowi_flags(skb->sk) : 0; in ip_route_me_harder()
40 if (ip_route_output_key(net, &rt, &fl) != 0) in ip_route_me_harder()
49 fl.nl_u.ip4_u.daddr = iph->saddr; in ip_route_me_harder()
50 if (ip_route_output_key(net, &rt, &fl) != 0) in ip_route_me_harder()
[all …]
Droute.c392 r->fl.fl4_tos, in rt_cache_seq_show()
627 rth->fl.iif && rth->u.dst.rt_next; in rt_fast_clean()
672 if (!rt->fl.iif || in rt_score()
835 !compare_hash_inputs(&(*rthp)->fl, in rt_check_expire()
836 &rth->fl)) in rt_check_expire()
844 !compare_hash_inputs(&(*rthp)->fl, in rt_check_expire()
845 &rth->fl)) in rt_check_expire()
1100 if (compare_keys(&rth->fl, &rt->fl) && compare_netns(rth, rt)) { in rt_intern_hash()
1146 if (*rthp && compare_hash_inputs(&(*rthp)->fl, &rt->fl)) in rt_intern_hash()
1176 if (rt->rt_type == RTN_UNICAST || rt->fl.iif == 0) { in rt_intern_hash()
[all …]
Dxfrm4_state.c24 __xfrm4_init_tempsel(struct xfrm_state *x, struct flowi *fl, in __xfrm4_init_tempsel() argument
28 x->sel.daddr.a4 = fl->fl4_dst; in __xfrm4_init_tempsel()
29 x->sel.saddr.a4 = fl->fl4_src; in __xfrm4_init_tempsel()
30 x->sel.dport = xfrm_flowi_dport(fl); in __xfrm4_init_tempsel()
32 x->sel.sport = xfrm_flowi_sport(fl); in __xfrm4_init_tempsel()
37 x->sel.proto = fl->proto; in __xfrm4_init_tempsel()
38 x->sel.ifindex = fl->oif; in __xfrm4_init_tempsel()
Dicmp.c384 struct flowi fl = { .nl_u = { .ip4_u = in icmp_reply() local
389 security_skb_classify_flow(skb, &fl); in icmp_reply()
390 if (ip_route_output_key(net, &rt, &fl)) in icmp_reply()
503 if (rt->fl.iif && in icmp_send()
505 dev = dev_get_by_index(net, rt->fl.iif); in icmp_send()
537 struct flowi fl = { in icmp_send() local
558 security_skb_classify_flow(skb_in, &fl); in icmp_send()
559 if (__ip_route_output_key(net, &rt, &fl)) in icmp_send()
565 err = xfrm_lookup(net, (struct dst_entry **)&rt, &fl, NULL, 0); in icmp_send()
578 if (xfrm_decode_session_reverse(skb_in, &fl, AF_INET)) in icmp_send()
[all …]
/net/dccp/
Dipv6.c150 struct flowi fl; in dccp_v6_err() local
156 memset(&fl, 0, sizeof(fl)); in dccp_v6_err()
157 fl.proto = IPPROTO_DCCP; in dccp_v6_err()
158 ipv6_addr_copy(&fl.fl6_dst, &np->daddr); in dccp_v6_err()
159 ipv6_addr_copy(&fl.fl6_src, &np->saddr); in dccp_v6_err()
160 fl.oif = sk->sk_bound_dev_if; in dccp_v6_err()
161 fl.fl_ip_dport = inet->dport; in dccp_v6_err()
162 fl.fl_ip_sport = inet->sport; in dccp_v6_err()
163 security_sk_classify_flow(sk, &fl); in dccp_v6_err()
165 err = ip6_dst_lookup(sk, &dst, &fl); in dccp_v6_err()
[all …]
/net/decnet/
Ddn_route.c288 if (compare_keys(&rth->fl, &rt->fl)) { in dn_insert_route()
868 struct flowi fl = { .nl_u = { .dn_u = in dn_route_output_slow() local
938 if (!fl.fld_dst) { in dn_route_output_slow()
939 fl.fld_dst = fl.fld_src; in dn_route_output_slow()
946 if (!fl.fld_dst) { in dn_route_output_slow()
947 fl.fld_dst = in dn_route_output_slow()
948 fl.fld_src = dnet_select_source(dev_out, 0, in dn_route_output_slow()
950 if (!fl.fld_dst) in dn_route_output_slow()
953 fl.oif = init_net.loopback_dev->ifindex; in dn_route_output_slow()
962 le16_to_cpu(fl.fld_dst), le16_to_cpu(fl.fld_src), in dn_route_output_slow()
[all …]
/net/xfrm/
Dxfrm_policy.c58 __xfrm4_selector_match(struct xfrm_selector *sel, struct flowi *fl) in __xfrm4_selector_match() argument
60 return addr_match(&fl->fl4_dst, &sel->daddr, sel->prefixlen_d) && in __xfrm4_selector_match()
61 addr_match(&fl->fl4_src, &sel->saddr, sel->prefixlen_s) && in __xfrm4_selector_match()
62 !((xfrm_flowi_dport(fl) ^ sel->dport) & sel->dport_mask) && in __xfrm4_selector_match()
63 !((xfrm_flowi_sport(fl) ^ sel->sport) & sel->sport_mask) && in __xfrm4_selector_match()
64 (fl->proto == sel->proto || !sel->proto) && in __xfrm4_selector_match()
65 (fl->oif == sel->ifindex || !sel->ifindex); in __xfrm4_selector_match()
69 __xfrm6_selector_match(struct xfrm_selector *sel, struct flowi *fl) in __xfrm6_selector_match() argument
71 return addr_match(&fl->fl6_dst, &sel->daddr, sel->prefixlen_d) && in __xfrm6_selector_match()
72 addr_match(&fl->fl6_src, &sel->saddr, sel->prefixlen_s) && in __xfrm6_selector_match()
[all …]
/net/ipv6/netfilter/
Dip6t_REJECT.c48 struct flowi fl; in send_reset() local
90 memset(&fl, 0, sizeof(fl)); in send_reset()
91 fl.proto = IPPROTO_TCP; in send_reset()
92 ipv6_addr_copy(&fl.fl6_src, &oip6h->daddr); in send_reset()
93 ipv6_addr_copy(&fl.fl6_dst, &oip6h->saddr); in send_reset()
94 fl.fl_ip_sport = otcph.dest; in send_reset()
95 fl.fl_ip_dport = otcph.source; in send_reset()
96 security_skb_classify_flow(oldskb, &fl); in send_reset()
97 dst = ip6_route_output(net, NULL, &fl); in send_reset()
100 if (dst->error || xfrm_lookup(net, &dst, &fl, NULL, 0)) in send_reset()
/net/rxrpc/
Dar-peer.c38 struct flowi fl; in rxrpc_assess_MTU_size() local
43 memset(&fl, 0, sizeof(fl)); in rxrpc_assess_MTU_size()
47 fl.oif = 0; in rxrpc_assess_MTU_size()
48 fl.proto = IPPROTO_UDP, in rxrpc_assess_MTU_size()
49 fl.nl_u.ip4_u.saddr = 0; in rxrpc_assess_MTU_size()
50 fl.nl_u.ip4_u.daddr = peer->srx.transport.sin.sin_addr.s_addr; in rxrpc_assess_MTU_size()
51 fl.nl_u.ip4_u.tos = 0; in rxrpc_assess_MTU_size()
53 fl.uli_u.ports.sport = htons(7001); in rxrpc_assess_MTU_size()
54 fl.uli_u.ports.dport = htons(7000); in rxrpc_assess_MTU_size()
60 ret = ip_route_output_key(&init_net, &rt, &fl); in rxrpc_assess_MTU_size()
/net/sctp/
Dipv6.c202 struct flowi fl; in sctp_v6_xmit() local
204 memset(&fl, 0, sizeof(fl)); in sctp_v6_xmit()
206 fl.proto = sk->sk_protocol; in sctp_v6_xmit()
211 ipv6_addr_copy(&fl.fl6_dst, &transport->ipaddr.v6.sin6_addr); in sctp_v6_xmit()
212 ipv6_addr_copy(&fl.fl6_src, &transport->saddr.v6.sin6_addr); in sctp_v6_xmit()
214 fl.fl6_flowlabel = np->flow_label; in sctp_v6_xmit()
215 IP6_ECN_flow_xmit(sk, fl.fl6_flowlabel); in sctp_v6_xmit()
216 if (ipv6_addr_type(&fl.fl6_src) & IPV6_ADDR_LINKLOCAL) in sctp_v6_xmit()
217 fl.oif = transport->saddr.v6.sin6_scope_id; in sctp_v6_xmit()
219 fl.oif = sk->sk_bound_dev_if; in sctp_v6_xmit()
[all …]

123