/net/ipv6/ |
D | ip6_flowlabel.c | 60 #define for_each_fl_rcu(hash, fl) \ argument 61 for (fl = rcu_dereference_bh(fl_ht[(hash)]); \ 62 fl != NULL; \ 63 fl = rcu_dereference_bh(fl->next)) 64 #define for_each_fl_continue_rcu(fl) \ argument 65 for (fl = rcu_dereference_bh(fl->next); \ 66 fl != NULL; \ 67 fl = rcu_dereference_bh(fl->next)) 76 struct ip6_flowlabel *fl; in __fl_lookup() local 78 for_each_fl_rcu(FL_HASH(label), fl) { in __fl_lookup() [all …]
|
D | ip6_vti.c | 445 vti6_xmit(struct sk_buff *skb, struct net_device *dev, struct flowi *fl) in vti6_xmit() argument 461 fl->u.ip4.flowi4_oif = dev->ifindex; in vti6_xmit() 462 fl->u.ip4.flowi4_flags |= FLOWI_FLAG_ANYSRC; in vti6_xmit() 463 rt = __ip_route_output_key(dev_net(dev), &fl->u.ip4); in vti6_xmit() 471 fl->u.ip6.flowi6_oif = dev->ifindex; in vti6_xmit() 472 fl->u.ip6.flowi6_flags |= FLOWI_FLAG_ANYSRC; in vti6_xmit() 473 dst = ip6_route_output(dev_net(dev), NULL, &fl->u.ip6); in vti6_xmit() 487 dst = xfrm_lookup_route(t->net, dst, fl, NULL, 0); in vti6_xmit() 556 struct flowi fl; in vti6_tnl_xmit() local 562 memset(&fl, 0, sizeof(fl)); in vti6_tnl_xmit() [all …]
|
D | mip6.c | 197 const struct flowi *fl) in mip6_destopt_reject() argument 201 const struct flowi6 *fl6 = &fl->u.ip6; in mip6_destopt_reject() 235 sel.dport = xfrm_flowi_dport(fl, &fl6->uli); in mip6_destopt_reject() 238 sel.sport = xfrm_flowi_sport(fl, &fl6->uli); in mip6_destopt_reject()
|
/net/l3mdev/ |
D | l3mdev.c | 246 int l3mdev_fib_rule_match(struct net *net, struct flowi *fl, in l3mdev_fib_rule_match() argument 254 dev = dev_get_by_index_rcu(net, fl->flowi_oif); in l3mdev_fib_rule_match() 262 dev = dev_get_by_index_rcu(net, fl->flowi_iif); in l3mdev_fib_rule_match() 276 void l3mdev_update_flow(struct net *net, struct flowi *fl) in l3mdev_update_flow() argument 283 if (fl->flowi_oif) { in l3mdev_update_flow() 284 dev = dev_get_by_index_rcu(net, fl->flowi_oif); in l3mdev_update_flow() 288 fl->flowi_oif = ifindex; in l3mdev_update_flow() 289 fl->flowi_flags |= FLOWI_FLAG_SKIP_NH_OIF; in l3mdev_update_flow() 295 if (fl->flowi_iif) { in l3mdev_update_flow() 296 dev = dev_get_by_index_rcu(net, fl->flowi_iif); in l3mdev_update_flow() [all …]
|
/net/xfrm/ |
D | xfrm_policy.c | 203 __xfrm4_selector_match(const struct xfrm_selector *sel, const struct flowi *fl) in __xfrm4_selector_match() argument 205 const struct flowi4 *fl4 = &fl->u.ip4; in __xfrm4_selector_match() 209 !((xfrm_flowi_dport(fl, &fl4->uli) ^ sel->dport) & sel->dport_mask) && in __xfrm4_selector_match() 210 !((xfrm_flowi_sport(fl, &fl4->uli) ^ sel->sport) & sel->sport_mask) && in __xfrm4_selector_match() 216 __xfrm6_selector_match(const struct xfrm_selector *sel, const struct flowi *fl) in __xfrm6_selector_match() argument 218 const struct flowi6 *fl6 = &fl->u.ip6; in __xfrm6_selector_match() 222 !((xfrm_flowi_dport(fl, &fl6->uli) ^ sel->dport) & sel->dport_mask) && in __xfrm6_selector_match() 223 !((xfrm_flowi_sport(fl, &fl6->uli) ^ sel->sport) & sel->sport_mask) && in __xfrm6_selector_match() 228 bool xfrm_selector_match(const struct xfrm_selector *sel, const struct flowi *fl, in xfrm_selector_match() argument 233 return __xfrm4_selector_match(sel, fl); in xfrm_selector_match() [all …]
|
D | xfrm_interface_core.c | 309 xfrmi_xmit2(struct sk_buff *skb, struct net_device *dev, struct flowi *fl) in xfrmi_xmit2() argument 321 dst = xfrm_lookup_with_ifid(xi->net, dst, fl, NULL, 0, xi->p.if_id); in xfrmi_xmit2() 399 struct flowi fl; in xfrmi_xmit() local 402 memset(&fl, 0, sizeof(fl)); in xfrmi_xmit() 407 xfrm_decode_session(skb, &fl, AF_INET6); in xfrmi_xmit() 409 fl.u.ip6.flowi6_oif = dev->ifindex; in xfrmi_xmit() 410 fl.u.ip6.flowi6_flags |= FLOWI_FLAG_ANYSRC; in xfrmi_xmit() 411 dst = ip6_route_output(dev_net(dev), NULL, &fl.u.ip6); in xfrmi_xmit() 422 xfrm_decode_session(skb, &fl, AF_INET); in xfrmi_xmit() 426 fl.u.ip4.flowi4_oif = dev->ifindex; in xfrmi_xmit() [all …]
|
D | xfrm_state.c | 854 __xfrm4_init_tempsel(struct xfrm_selector *sel, const struct flowi *fl) in __xfrm4_init_tempsel() argument 856 const struct flowi4 *fl4 = &fl->u.ip4; in __xfrm4_init_tempsel() 860 sel->dport = xfrm_flowi_dport(fl, &fl4->uli); in __xfrm4_init_tempsel() 862 sel->sport = xfrm_flowi_sport(fl, &fl4->uli); in __xfrm4_init_tempsel() 872 __xfrm6_init_tempsel(struct xfrm_selector *sel, const struct flowi *fl) in __xfrm6_init_tempsel() argument 874 const struct flowi6 *fl6 = &fl->u.ip6; in __xfrm6_init_tempsel() 879 sel->dport = xfrm_flowi_dport(fl, &fl6->uli); in __xfrm6_init_tempsel() 881 sel->sport = xfrm_flowi_sport(fl, &fl6->uli); in __xfrm6_init_tempsel() 891 xfrm_init_tempstate(struct xfrm_state *x, const struct flowi *fl, in xfrm_init_tempstate() argument 898 __xfrm4_init_tempsel(&x->sel, fl); in xfrm_init_tempstate() [all …]
|
/net/netfilter/ |
D | nft_flow_offload.c | 29 struct flowi fl; in nft_flow_route() local 31 memset(&fl, 0, sizeof(fl)); in nft_flow_route() 34 fl.u.ip4.daddr = ct->tuplehash[dir].tuple.src.u3.ip; in nft_flow_route() 35 fl.u.ip4.flowi4_oif = nft_in(pkt)->ifindex; in nft_flow_route() 38 fl.u.ip6.daddr = ct->tuplehash[dir].tuple.src.u3.in6; in nft_flow_route() 39 fl.u.ip6.flowi6_oif = nft_in(pkt)->ifindex; in nft_flow_route() 43 nf_route(nft_net(pkt), &other_dst, &fl, false, nft_pf(pkt)); in nft_flow_route()
|
D | nft_rt.c | 26 struct flowi fl; in get_tcpmss() local 28 memset(&fl, 0, sizeof(fl)); in get_tcpmss() 32 fl.u.ip4.daddr = ip_hdr(skb)->saddr; in get_tcpmss() 36 fl.u.ip6.daddr = ipv6_hdr(skb)->saddr; in get_tcpmss() 41 nf_route(nft_net(pkt), &dst, &fl, false, nft_pf(pkt)); in get_tcpmss()
|
D | xt_TCPMSS.c | 47 struct flowi fl; in tcpmss_reverse_mtu() local 52 struct flowi4 *fl4 = &fl.u.ip4; in tcpmss_reverse_mtu() 56 struct flowi6 *fl6 = &fl.u.ip6; in tcpmss_reverse_mtu() 62 nf_route(net, (struct dst_entry **)&rt, &fl, false, family); in tcpmss_reverse_mtu()
|
D | nf_nat_core.c | 59 struct flowi *fl) in nf_nat_ipv4_decode_session() argument 62 struct flowi4 *fl4 = &fl->u.ip4; in nf_nat_ipv4_decode_session() 91 struct flowi *fl) in nf_nat_ipv6_decode_session() argument 95 struct flowi6 *fl6 = &fl->u.ip6; in nf_nat_ipv6_decode_session() 121 static void __nf_nat_decode_session(struct sk_buff *skb, struct flowi *fl) in __nf_nat_decode_session() argument 142 nf_nat_ipv4_decode_session(skb, ct, dir, statusbit, fl); in __nf_nat_decode_session() 145 nf_nat_ipv6_decode_session(skb, ct, dir, statusbit, fl); in __nf_nat_decode_session() 152 struct flowi fl; in nf_xfrm_me_harder() local 158 err = xfrm_decode_session(skb, &fl, family); in nf_xfrm_me_harder() 171 dst = xfrm_lookup(net, dst, &fl, sk, 0); in nf_xfrm_me_harder()
|
D | utils.c | 163 int nf_route(struct net *net, struct dst_entry **dst, struct flowi *fl, in nf_route() argument 171 ret = nf_ip_route(net, dst, fl, strict); in nf_route() 174 ret = nf_ip6_route(net, dst, fl, strict); in nf_route()
|
/net/ipv4/ |
D | ip_vti.c | 167 struct flowi *fl) in vti_xmit() argument 182 fl->u.ip4.flowi4_oif = dev->ifindex; in vti_xmit() 183 fl->u.ip4.flowi4_flags |= FLOWI_FLAG_ANYSRC; in vti_xmit() 184 rt = __ip_route_output_key(dev_net(dev), &fl->u.ip4); in vti_xmit() 195 fl->u.ip6.flowi6_oif = dev->ifindex; in vti_xmit() 196 fl->u.ip6.flowi6_flags |= FLOWI_FLAG_ANYSRC; in vti_xmit() 197 dst = ip6_route_output(dev_net(dev), NULL, &fl->u.ip6); in vti_xmit() 214 dst = xfrm_lookup_route(tunnel->net, dst, fl, NULL, 0); in vti_xmit() 279 struct flowi fl; in vti_tunnel_xmit() local 284 memset(&fl, 0, sizeof(fl)); in vti_tunnel_xmit() [all …]
|
D | netfilter.c | 85 int nf_ip_route(struct net *net, struct dst_entry **dst, struct flowi *fl, in nf_ip_route() argument 88 struct rtable *rt = ip_route_output_key(net, &fl->u.ip4); in nf_ip_route()
|
D | xfrm4_policy.c | 72 const struct flowi *fl) in xfrm4_fill_dst() argument 75 const struct flowi4 *fl4 = &fl->u.ip4; in xfrm4_fill_dst()
|
/net/ipv4/netfilter/ |
D | nf_reject_ipv4.c | 102 struct flowi fl; in nf_reject_fill_skb_dst() local 104 memset(&fl, 0, sizeof(struct flowi)); in nf_reject_fill_skb_dst() 105 fl.u.ip4.daddr = ip_hdr(skb_in)->saddr; in nf_reject_fill_skb_dst() 106 nf_ip_route(dev_net(skb_in->dev), &dst, &fl, false); in nf_reject_fill_skb_dst()
|
/net/core/ |
D | fib_rules.c | 260 struct flowi *fl, int flags, in fib_rule_match() argument 265 if (rule->iifindex && (rule->iifindex != fl->flowi_iif)) in fib_rule_match() 268 if (rule->oifindex && (rule->oifindex != fl->flowi_oif)) in fib_rule_match() 271 if ((rule->mark ^ fl->flowi_mark) & rule->mark_mask) in fib_rule_match() 274 if (rule->tun_id && (rule->tun_id != fl->flowi_tun_key.tun_id)) in fib_rule_match() 277 if (rule->l3mdev && !l3mdev_fib_rule_match(rule->fr_net, fl, arg)) in fib_rule_match() 280 if (uid_lt(fl->flowi_uid, rule->uid_range.start) || in fib_rule_match() 281 uid_gt(fl->flowi_uid, rule->uid_range.end)) in fib_rule_match() 287 rule, fl, flags); in fib_rule_match() 292 int fib_rules_lookup(struct fib_rules_ops *ops, struct flowi *fl, in fib_rules_lookup() argument [all …]
|
D | net-procfs.c | 159 struct sd_flow_limit *fl; in softnet_seq_show() local 162 fl = rcu_dereference(sd->flow_limit); in softnet_seq_show() 163 if (fl) in softnet_seq_show() 164 flow_limit_count = fl->count; in softnet_seq_show()
|
/net/ipv6/netfilter/ |
D | nf_reject_ipv6.c | 132 struct flowi fl; in nf_reject6_fill_skb_dst() local 134 memset(&fl, 0, sizeof(struct flowi)); in nf_reject6_fill_skb_dst() 135 fl.u.ip6.daddr = ipv6_hdr(skb_in)->saddr; in nf_reject6_fill_skb_dst() 136 nf_ip6_route(dev_net(skb_in->dev), &dst, &fl, false); in nf_reject6_fill_skb_dst()
|
/net/rxrpc/ |
D | peer_object.c | 158 struct flowi fl; in rxrpc_assess_MTU_size() local 159 struct flowi4 *fl4 = &fl.u.ip4; in rxrpc_assess_MTU_size() 161 struct flowi6 *fl6 = &fl.u.ip6; in rxrpc_assess_MTU_size() 166 memset(&fl, 0, sizeof(fl)); in rxrpc_assess_MTU_size()
|
/net/sctp/ |
D | protocol.c | 415 struct flowi *fl, struct sock *sk) in sctp_v4_get_dst() argument 452 memcpy(fl, &_fl, sizeof(_fl)); in sctp_v4_get_dst() 519 memcpy(fl, &_fl, sizeof(_fl)); in sctp_v4_get_dst() 529 memcpy(fl, &_fl, sizeof(_fl)); in sctp_v4_get_dst() 538 &fl->u.ip4.daddr, &fl->u.ip4.saddr); in sctp_v4_get_dst() 550 struct flowi *fl) in sctp_v4_get_saddr() argument 557 saddr->v4.sin_addr.s_addr = fl->u.ip4.saddr; in sctp_v4_get_saddr() 987 skb->len, &transport->fl.u.ip4.saddr, in sctp_v4_xmit() 988 &transport->fl.u.ip4.daddr); in sctp_v4_xmit() 998 return __ip_queue_xmit(&inet->sk, skb, &transport->fl, dscp); in sctp_v4_xmit()
|
D | ipv6.c | 198 struct flowi6 *fl6 = &transport->fl.u.ip6; in sctp_v6_xmit() 227 struct flowi *fl, struct sock *sk) in sctp_v6_get_dst() argument 282 memcpy(fl, &_fl, sizeof(_fl)); in sctp_v6_get_dst() 308 memcpy(fl, &_fl, sizeof(_fl)); in sctp_v6_get_dst() 348 memcpy(fl, &_fl, sizeof(_fl)); in sctp_v6_get_dst() 363 memcpy(fl, &_fl, sizeof(_fl)); in sctp_v6_get_dst() 375 &fl->u.ip6.saddr); in sctp_v6_get_dst() 396 struct flowi *fl) in sctp_v6_get_saddr() argument 398 struct flowi6 *fl6 = &fl->u.ip6; in sctp_v6_get_saddr()
|
D | transport.c | 228 &transport->fl, sk); in sctp_transport_pmtu() 273 t->af_specific->get_dst(t, &t->saddr, &t->fl, sk); in sctp_transport_update_pmtu() 297 af->get_dst(transport, saddr, &transport->fl, sctp_opt2sk(opt)); in sctp_transport_route() 302 af->get_saddr(opt, transport, &transport->fl); in sctp_transport_route()
|
/net/sched/ |
D | sch_sfb.c | 254 static bool sfb_classify(struct sk_buff *skb, struct tcf_proto *fl, in sfb_classify() argument 260 result = tcf_classify(skb, fl, &res, false); in sfb_classify() 286 struct tcf_proto *fl; in sfb_enqueue() local 313 fl = rcu_dereference_bh(q->filter_list); in sfb_enqueue() 314 if (fl) { in sfb_enqueue() 318 if (!sfb_classify(skb, fl, &ret, &salt)) in sfb_enqueue()
|
D | sch_prio.c | 36 struct tcf_proto *fl; in prio_classify() local 41 fl = rcu_dereference_bh(q->filter_list); in prio_classify() 42 err = tcf_classify(skb, fl, &res, false); in prio_classify() 54 if (!fl || err < 0) { in prio_classify()
|