/linux/net/ipv4/ |
A D | ip_tunnel_core.c | 135 src = &md->u.tun_info; in iptunnel_metadata_reply() 140 dst = &res->u.tun_info; in iptunnel_metadata_reply() 659 struct ip_tunnel_info *tun_info; in ip_tun_build_state() local 677 tun_info = lwt_tun_info(new_state); in ip_tun_build_state() 709 tun_info->key.tun_flags |= in ip_tun_build_state() 713 tun_info->mode = IP_TUNNEL_INFO_TX; in ip_tun_build_state() 714 tun_info->options_len = opt_len; in ip_tun_build_state() 768 md = ip_tunnel_info_opts(tun_info); in ip_tun_fill_encap_opts_vxlan() 946 struct ip_tunnel_info *tun_info; in ip6_tun_build_state() local 988 tun_info->key.tun_flags |= in ip6_tun_build_state() [all …]
|
A D | ip_tunnel.c | 548 struct ip_tunnel_info *tun_info; in ip_md_tunnel_xmit() local 557 tun_info = skb_tunnel_info(skb); in ip_md_tunnel_xmit() 558 if (unlikely(!tun_info || !(tun_info->mode & IP_TUNNEL_INFO_TX) || in ip_md_tunnel_xmit() 559 ip_tunnel_info_af(tun_info) != AF_INET)) in ip_md_tunnel_xmit() 561 key = &tun_info->key; in ip_md_tunnel_xmit() 640 struct ip_tunnel_info *tun_info = NULL; in ip_tunnel_xmit() local 666 tun_info = skb_tunnel_info(skb); in ip_tunnel_xmit() 667 if (tun_info && (tun_info->mode & IP_TUNNEL_INFO_TX) && in ip_tunnel_xmit() 668 ip_tunnel_info_af(tun_info) == AF_INET && in ip_tunnel_xmit() 669 tun_info->key.u.ipv4.dst) { in ip_tunnel_xmit() [all …]
|
A D | ip_gre.c | 335 info = &tun_dst->u.tun_info; in erspan_rcv() 483 struct ip_tunnel_info *tun_info; in gre_fb_xmit() local 488 tun_info = skb_tunnel_info(skb); in gre_fb_xmit() 489 if (unlikely(!tun_info || !(tun_info->mode & IP_TUNNEL_INFO_TX) || in gre_fb_xmit() 493 key = &tun_info->key; in gre_fb_xmit() 503 flags = tun_info->key.tun_flags & in gre_fb_xmit() 521 struct ip_tunnel_info *tun_info; in erspan_fb_xmit() local 531 tun_info = skb_tunnel_info(skb); in erspan_fb_xmit() 532 if (unlikely(!tun_info || !(tun_info->mode & IP_TUNNEL_INFO_TX) || in erspan_fb_xmit() 536 key = &tun_info->key; in erspan_fb_xmit() [all …]
|
/linux/include/net/ |
A D | dst_metadata.h | 23 struct ip_tunnel_info tun_info; member 45 return &md_dst->u.tun_info; in skb_tunnel_info() 82 return memcmp(&a->u.tun_info, &b->u.tun_info, in skb_metadata_dst_cmp() 83 sizeof(a->u.tun_info) + in skb_metadata_dst_cmp() 84 a->u.tun_info.options_len); in skb_metadata_dst_cmp() 105 tun_dst->u.tun_info.options_len = 0; in tun_rx_dst() 106 tun_dst->u.tun_info.mode = 0; in tun_rx_dst() 119 md_size = md_dst->u.tun_info.options_len; in tun_dst_unclone() 124 memcpy(&new_md->u.tun_info, &md_dst->u.tun_info, in tun_dst_unclone() 140 return &dst->u.tun_info; in skb_tunnel_info_unclone() [all …]
|
A D | ip_tunnels.h | 214 *tun_info) in ip_tunnel_info_af() 216 return tun_info->mode & IP_TUNNEL_INFO_IPV6 ? AF_INET6 : AF_INET; in ip_tunnel_info_af()
|
/linux/net/psample/ |
A D | psample.c | 215 struct ip_tunnel_info *tun_info) in __psample_ip_tun_to_nlattr() argument 220 int tun_opts_len = tun_info->options_len; in __psample_ip_tun_to_nlattr() 227 if (tun_info->mode & IP_TUNNEL_INFO_BRIDGE && in __psample_ip_tun_to_nlattr() 288 struct ip_tunnel_info *tun_info) in psample_ip_tun_to_nlattr() argument 312 int tun_opts_len = tun_info->options_len; in psample_tunnel_meta_len() 318 if (tun_info->mode & IP_TUNNEL_INFO_BRIDGE) in psample_tunnel_meta_len() 367 struct ip_tunnel_info *tun_info; in psample_sample_packet() local 388 tun_info = skb_tunnel_info(skb); in psample_sample_packet() 389 if (tun_info) in psample_sample_packet() 390 meta_len += psample_tunnel_meta_len(tun_info); in psample_sample_packet() [all …]
|
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/ |
A D | tc_tun_geneve.c | 19 e->tun_info->options_len; in mlx5e_tc_tun_calc_hlen_geneve() 96 const struct ip_tunnel_info *tun_info = e->tun_info; in mlx5e_gen_ip_tunnel_header_geneve() local 104 udp->dest = tun_info->key.tp_dst; in mlx5e_gen_ip_tunnel_header_geneve() 108 geneveh->opt_len = tun_info->options_len / 4; in mlx5e_gen_ip_tunnel_header_geneve() 109 geneveh->oam = !!(tun_info->key.tun_flags & TUNNEL_OAM); in mlx5e_gen_ip_tunnel_header_geneve() 110 geneveh->critical = !!(tun_info->key.tun_flags & TUNNEL_CRIT_OPT); in mlx5e_gen_ip_tunnel_header_geneve() 111 mlx5e_tunnel_id_to_vni(tun_info->key.tun_id, geneveh->vni); in mlx5e_gen_ip_tunnel_header_geneve() 114 if (tun_info->key.tun_flags & TUNNEL_GENEVE_OPT) { in mlx5e_gen_ip_tunnel_header_geneve() 117 ip_tunnel_info_opts_get(geneveh->options, tun_info); in mlx5e_gen_ip_tunnel_header_geneve()
|
A D | tc_tun_encap.c | 445 kfree(e->tun_info); in mlx5e_encap_dealloc() 585 e_key.ip_tun_key = &e->tun_info->key; in mlx5e_encap_get() 615 size_t tun_size = sizeof(*tun_info) + tun_info->options_len; in mlx5e_dup_tun_info() 762 tun_info = parse_attr->tun_info[out_index]; in mlx5e_attach_encap() 763 family = ip_tunnel_info_af(tun_info); in mlx5e_attach_encap() 764 key.ip_tun_key = &tun_info->key; in mlx5e_attach_encap() 807 tun_info = mlx5e_dup_tun_info(tun_info); in mlx5e_attach_encap() 808 if (!tun_info) { in mlx5e_attach_encap() 812 e->tun_info = tun_info; in mlx5e_attach_encap() 876 kfree(tun_info); in mlx5e_attach_encap() [all …]
|
A D | tc_tun_gre.c | 14 return gre_calc_hlen(e->tun_info->key.tun_flags); in mlx5e_tc_tun_calc_hlen_gretap() 31 const struct ip_tunnel_key *tun_key = &e->tun_info->key; in mlx5e_gen_ip_tunnel_header_gretap()
|
A D | tc_tun_vxlan.c | 65 int dst_port = be16_to_cpu(e->tun_info->key.tp_dst); in mlx5e_tc_tun_init_encap_attr_vxlan() 86 const struct ip_tunnel_key *tun_key = &e->tun_info->key; in mlx5e_gen_ip_tunnel_header_vxlan()
|
A D | tc_tun_encap.h | 30 struct ip_tunnel_info *mlx5e_dup_tun_info(const struct ip_tunnel_info *tun_info);
|
A D | tc_priv.h | 34 const struct ip_tunnel_info *tun_info[MLX5_MAX_FLOW_FWD_VPORTS]; member
|
A D | tc_tun_mplsoudp.c | 32 const struct ip_tunnel_key *tun_key = &r->tun_info->key; in generate_ip_tun_hdr()
|
/linux/net/netfilter/ |
A D | nf_flow_table_offload.c | 34 struct ip_tunnel_info *tun_info) in nf_flow_rule_lwt_match() argument 40 if (!tun_info || !(tun_info->mode & IP_TUNNEL_INFO_TX)) in nf_flow_rule_lwt_match() 97 struct ip_tunnel_info *tun_info; in nf_flow_rule_match() local 110 nf_flow_rule_lwt_match(match, tun_info); in nf_flow_rule_match() 580 struct ip_tunnel_info *tun_info; in flow_offload_encap_tunnel() local 582 tun_info = lwt_tun_info(dst->lwtstate); in flow_offload_encap_tunnel() 583 if (tun_info && (tun_info->mode & IP_TUNNEL_INFO_TX)) { in flow_offload_encap_tunnel() 586 entry->tunnel = tun_info; in flow_offload_encap_tunnel() 605 struct ip_tunnel_info *tun_info; in flow_offload_decap_tunnel() local 607 tun_info = lwt_tun_info(dst->lwtstate); in flow_offload_decap_tunnel() [all …]
|
A D | nft_tunnel.c | 28 struct ip_tunnel_info *tun_info; in nft_tunnel_get_eval() local 30 tun_info = skb_tunnel_info(pkt->skb); in nft_tunnel_get_eval() 34 if (!tun_info) { in nft_tunnel_get_eval() 40 !(tun_info->mode & IP_TUNNEL_INFO_TX)) || in nft_tunnel_get_eval() 42 (tun_info->mode & IP_TUNNEL_INFO_TX))) in nft_tunnel_get_eval() 48 if (!tun_info) { in nft_tunnel_get_eval() 54 !(tun_info->mode & IP_TUNNEL_INFO_TX)) || in nft_tunnel_get_eval() 56 (tun_info->mode & IP_TUNNEL_INFO_TX))) in nft_tunnel_get_eval() 57 *dest = ntohl(tunnel_id_to_key32(tun_info->key.tun_id)); in nft_tunnel_get_eval() 480 memcpy(&md->u.tun_info, &info, sizeof(info)); in nft_tunnel_obj_init() [all …]
|
/linux/net/ipv6/ |
A D | ip6_gre.c | 579 info = &tun_dst->u.tun_info; in ip6erspan_rcv() 711 struct ip_tunnel_info *tun_info; in skb_tunnel_info_txcheck() local 713 tun_info = skb_tunnel_info(skb); in skb_tunnel_info_txcheck() 714 if (unlikely(!tun_info || !(tun_info->mode & IP_TUNNEL_INFO_TX))) in skb_tunnel_info_txcheck() 717 return tun_info; in skb_tunnel_info_txcheck() 743 struct ip_tunnel_info *tun_info; in __gre6_xmit() local 748 if (IS_ERR(tun_info) || in __gre6_xmit() 752 key = &tun_info->key; in __gre6_xmit() 983 if (IS_ERR(tun_info) || in ip6erspan_tunnel_xmit() 987 key = &tun_info->key; in ip6erspan_tunnel_xmit() [all …]
|
/linux/net/openvswitch/ |
A D | flow.c | 856 int ovs_flow_key_extract(const struct ip_tunnel_info *tun_info, in ovs_flow_key_extract() argument 867 if (tun_info) { in ovs_flow_key_extract() 868 key->tun_proto = ip_tunnel_info_af(tun_info); in ovs_flow_key_extract() 869 memcpy(&key->tun_key, &tun_info->key, sizeof(key->tun_key)); in ovs_flow_key_extract() 871 if (tun_info->options_len) { in ovs_flow_key_extract() 872 BUILD_BUG_ON((1 << (sizeof(tun_info->options_len) * in ovs_flow_key_extract() 876 ip_tunnel_info_opts_get(TUN_METADATA_OPTS(key, tun_info->options_len), in ovs_flow_key_extract() 877 tun_info); in ovs_flow_key_extract() 878 key->tun_opts_len = tun_info->options_len; in ovs_flow_key_extract()
|
A D | vport.c | 431 const struct ip_tunnel_info *tun_info) in ovs_vport_receive() argument 445 tun_info = NULL; in ovs_vport_receive() 449 error = ovs_flow_key_extract(tun_info, skb, &key); in ovs_vport_receive()
|
A D | flow_netlink.c | 957 ip_tunnel_info_opts(tun_info), in ovs_nla_put_tunnel_info() 958 tun_info->options_len, in ovs_nla_put_tunnel_info() 959 ip_tunnel_info_af(tun_info), tun_info->mode); in ovs_nla_put_tunnel_info() 2642 struct ip_tunnel_info *tun_info; in validate_and_copy_set_tun() local 2697 tun_info = &tun_dst->u.tun_info; in validate_and_copy_set_tun() 2703 tun_info->key = key.tun_key; in validate_and_copy_set_tun() 2709 ip_tunnel_info_opts_set(tun_info, in validate_and_copy_set_tun() 3563 struct ip_tunnel_info *tun_info = &ovs_tun->tun_dst->u.tun_info; in set_action_to_attr() local 3570 ip_tunnel_info_opts(tun_info), in set_action_to_attr() 3571 tun_info->options_len, in set_action_to_attr() [all …]
|
A D | flow_netlink.h | 50 struct ip_tunnel_info *tun_info);
|
/linux/drivers/net/ethernet/netronome/nfp/flower/ |
A D | tunnel_conf.c | 55 } tun_info[]; member 76 } tun_info[]; member 245 if (pay_len != struct_size(payload, tun_info, count)) { in nfp_tunnel_keep_alive() 252 ipv4_addr = payload->tun_info[i].ipv4; in nfp_tunnel_keep_alive() 253 port = be32_to_cpu(payload->tun_info[i].egress_port); in nfp_tunnel_keep_alive() 287 if (pay_len != struct_size(payload, tun_info, count)) { in nfp_tunnel_keep_alive_v6() 294 ipv6_add = &payload->tun_info[i].ipv6; in nfp_tunnel_keep_alive_v6() 295 port = be32_to_cpu(payload->tun_info[i].egress_port); in nfp_tunnel_keep_alive_v6()
|
/linux/net/sched/ |
A D | act_tunnel_key.c | 476 ret = dst_cache_init(&metadata->u.tun_info.dst_cache, GFP_KERNEL); in tunnel_key_init() 483 &metadata->u.tun_info, in tunnel_key_init() 489 metadata->u.tun_info.mode |= IP_TUNNEL_INFO_TX; in tunnel_key_init() 736 ¶ms->tcft_enc_metadata->u.tun_info; in tunnel_key_dump() 743 ¶ms->tcft_enc_metadata->u.tun_info) || in tunnel_key_dump()
|
/linux/include/net/tc_act/ |
A D | tc_tunnel_key.h | 64 return ¶ms->tcft_enc_metadata->u.tun_info; in tcf_tunnel_info()
|
/linux/net/core/ |
A D | dst.c | 317 dst_cache_destroy(&md_dst->u.tun_info.dst_cache); in metadata_dst_free() 350 dst_cache_destroy(&one_md_dst->u.tun_info.dst_cache); in metadata_dst_free_percpu()
|
/linux/drivers/net/ethernet/mellanox/mlx5/core/ |
A D | en_rep.h | 198 const struct ip_tunnel_info *tun_info; member
|