| /linux/net/ipv4/ |
| H A D | ip_tunnel_core.c | 150 md->u.tun_info.mode & IP_TUNNEL_INFO_TX) in iptunnel_metadata_reply() 153 src = &md->u.tun_info; in iptunnel_metadata_reply() 158 dst = &res->u.tun_info; in iptunnel_metadata_reply() 701 struct ip_tunnel_info *tun_info; in ip_tun_build_state() local 713 new_state = lwtunnel_state_alloc(sizeof(*tun_info) + opt_len); in ip_tun_build_state() 719 tun_info = lwt_tun_info(new_state); in ip_tun_build_state() 721 err = ip_tun_set_opts(tb[LWTUNNEL_IP_OPTS], tun_info, opt_len, in ip_tun_build_state() 729 err = dst_cache_init(&tun_info->dst_cache, GFP_KERNEL); in ip_tun_build_state() 737 tun_info->key.tun_id = nla_get_be64(tb[LWTUNNEL_IP_ID]); in ip_tun_build_state() 740 tun_info->key.u.ipv4.dst = nla_get_in_addr(tb[LWTUNNEL_IP_DST]); in ip_tun_build_state() [all …]
|
| H A D | ip_tunnel.c | 576 struct ip_tunnel_info *tun_info; in ip_md_tunnel_xmit() local 585 tun_info = skb_tunnel_info(skb); in ip_md_tunnel_xmit() 586 if (unlikely(!tun_info || !(tun_info->mode & IP_TUNNEL_INFO_TX) || in ip_md_tunnel_xmit() 587 ip_tunnel_info_af(tun_info) != AF_INET)) in ip_md_tunnel_xmit() 589 key = &tun_info->key; in ip_md_tunnel_xmit() 605 tunnel_hlen = ip_encap_hlen(&tun_info->encap); in ip_md_tunnel_xmit() 607 if (ip_tunnel_encap(skb, &tun_info->encap, &proto, &fl4) < 0) in ip_md_tunnel_xmit() 610 use_cache = ip_tunnel_dst_cache_usable(skb, tun_info); in ip_md_tunnel_xmit() 612 rt = dst_cache_get_ip4(&tun_info->dst_cache, &fl4.saddr); in ip_md_tunnel_xmit() 620 dst_cache_set_ip4(&tun_info->dst_cache, &rt->dst, in ip_md_tunnel_xmit() [all …]
|
| H A D | ip_gre.c | 334 info = &tun_dst->u.tun_info; in erspan_rcv() 345 md = ip_tunnel_info_opts(&tun_dst->u.tun_info); in erspan_rcv() 501 struct ip_tunnel_info *tun_info; in gre_fb_xmit() local 505 tun_info = skb_tunnel_info(skb); in gre_fb_xmit() 506 if (unlikely(!tun_info || !(tun_info->mode & IP_TUNNEL_INFO_TX) || in gre_fb_xmit() 507 ip_tunnel_info_af(tun_info) != AF_INET)) in gre_fb_xmit() 510 key = &tun_info->key; in gre_fb_xmit() 524 ip_tunnel_flags_and(flags, tun_info->key.tun_flags, flags); in gre_fb_xmit() 527 tunnel_id_to_key32(tun_info->key.tun_id), in gre_fb_xmit() 544 struct ip_tunnel_info *tun_info; in erspan_fb_xmit() local [all …]
|
| /linux/include/net/ |
| H A D | dst_metadata.h | 37 struct ip_tunnel_info tun_info; member 61 return &md_dst->u.tun_info; in skb_tunnel_info() 119 return memcmp(&a->u.tun_info, &b->u.tun_info, in skb_metadata_dst_cmp() 120 sizeof(a->u.tun_info) + in skb_metadata_dst_cmp() 121 a->u.tun_info.options_len); in skb_metadata_dst_cmp() 148 tun_dst->u.tun_info.options_len = 0; in tun_rx_dst() 149 tun_dst->u.tun_info.mode = 0; in tun_rx_dst() 162 md_size = md_dst->u.tun_info.options_len; in tun_dst_unclone() 168 new_md->u.tun_info = md_dst->u.tun_info; in tun_dst_unclone() 169 memcpy(ip_tunnel_info_opts(&new_md->u.tun_info), in tun_dst_unclone() [all …]
|
| /linux/net/psample/ |
| H A D | psample.c | 217 struct ip_tunnel_info *tun_info) in __psample_ip_tun_to_nlattr() argument 219 unsigned short tun_proto = ip_tunnel_info_af(tun_info); in __psample_ip_tun_to_nlattr() 220 const void *tun_opts = ip_tunnel_info_opts(tun_info); in __psample_ip_tun_to_nlattr() 221 const struct ip_tunnel_key *tun_key = &tun_info->key; in __psample_ip_tun_to_nlattr() 222 int tun_opts_len = tun_info->options_len; in __psample_ip_tun_to_nlattr() 229 if (tun_info->mode & IP_TUNNEL_INFO_BRIDGE && in __psample_ip_tun_to_nlattr() 291 struct ip_tunnel_info *tun_info) in psample_ip_tun_to_nlattr() argument 300 err = __psample_ip_tun_to_nlattr(skb, tun_info); in psample_ip_tun_to_nlattr() 311 static int psample_tunnel_meta_len(struct ip_tunnel_info *tun_info) in psample_tunnel_meta_len() argument 313 unsigned short tun_proto = ip_tunnel_info_af(tun_info); in psample_tunnel_meta_len() [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/en/ |
| H 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 = test_bit(IP_TUNNEL_OAM_BIT, tun_info->key.tun_flags); in mlx5e_gen_ip_tunnel_header_geneve() 111 tun_info->key.tun_flags); in mlx5e_gen_ip_tunnel_header_geneve() 112 mlx5e_tunnel_id_to_vni(tun_info->key.tun_id, geneveh->vni); in mlx5e_gen_ip_tunnel_header_geneve() 115 if (test_bit(IP_TUNNEL_GENEVE_OPT_BIT, tun_info->key.tun_flags)) { in mlx5e_gen_ip_tunnel_header_geneve() 118 ip_tunnel_info_opts_get(geneveh->options, tun_info); in mlx5e_gen_ip_tunnel_header_geneve()
|
| H A D | tc_tun_vxlan.c | 66 int dst_port = be16_to_cpu(e->tun_info->key.tp_dst); in mlx5e_tc_tun_init_encap_attr_vxlan() 87 const struct ip_tunnel_key *tun_key = &e->tun_info->key; in mlx5e_gen_ip_tunnel_header_vxlan() 94 e->tun_info->options_len != sizeof(*md)) in mlx5e_gen_ip_tunnel_header_vxlan() 103 md = ip_tunnel_info_opts(e->tun_info); in mlx5e_gen_ip_tunnel_header_vxlan()
|
| H 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()
|
| H A D | tc_tun_encap.h | 42 struct ip_tunnel_info *mlx5e_dup_tun_info(const struct ip_tunnel_info *tun_info);
|
| H A D | tc_tun_mplsoudp.c | 32 const struct ip_tunnel_key *tun_key = &r->tun_info->key; in generate_ip_tun_hdr()
|
| H A D | tc_priv.h | 37 const struct ip_tunnel_info *tun_info[MLX5_MAX_FLOW_FWD_VPORTS]; member
|
| /linux/net/netfilter/ |
| H A D | nf_flow_table_offload.c | 37 struct ip_tunnel_info *tun_info) in nf_flow_rule_lwt_match() argument 43 if (!tun_info || !(tun_info->mode & IP_TUNNEL_INFO_TX)) in nf_flow_rule_lwt_match() 48 key->enc_key_id.keyid = tunnel_id_to_key32(tun_info->key.tun_id); in nf_flow_rule_lwt_match() 53 if (ip_tunnel_info_af(tun_info) == AF_INET) { in nf_flow_rule_lwt_match() 56 key->enc_ipv4.src = tun_info->key.u.ipv4.dst; in nf_flow_rule_lwt_match() 57 key->enc_ipv4.dst = tun_info->key.u.ipv4.src; in nf_flow_rule_lwt_match() 65 memcpy(&key->enc_ipv6.src, &tun_info->key.u.ipv6.dst, in nf_flow_rule_lwt_match() 67 memcpy(&key->enc_ipv6.dst, &tun_info->key.u.ipv6.src, in nf_flow_rule_lwt_match() 100 struct ip_tunnel_info *tun_info; in nf_flow_rule_match() local 639 struct ip_tunnel_info *tun_info; flow_offload_encap_tunnel() local 668 struct ip_tunnel_info *tun_info; flow_offload_decap_tunnel() local [all...] |
| /linux/net/core/ |
| H A D | dst.c | 174 dst_cache_reset_now(&md_dst->u.tun_info.dst_cache); in dst_release() 298 md_dst = kmalloc_flex(*md_dst, u.tun_info.options, optslen, flags); in metadata_dst_alloc() 312 dst_cache_destroy(&md_dst->u.tun_info.dst_cache); in metadata_dst_free() 326 md_dst = __alloc_percpu_gfp(struct_size(md_dst, u.tun_info.options, in metadata_dst_alloc_percpu() 348 dst_cache_destroy(&one_md_dst->u.tun_info.dst_cache); in metadata_dst_free_percpu()
|
| /linux/net/ipv6/ |
| H A D | ip6_gre.c | 539 info = &tun_dst->u.tun_info; in ip6erspan_rcv() 709 struct ip_tunnel_info *tun_info; in skb_tunnel_info_txcheck() local 711 tun_info = skb_tunnel_info(skb); in skb_tunnel_info_txcheck() 712 if (unlikely(!tun_info || !(tun_info->mode & IP_TUNNEL_INFO_TX))) in skb_tunnel_info_txcheck() 715 return tun_info; in skb_tunnel_info_txcheck() 739 struct ip_tunnel_info *tun_info; in __gre6_xmit() local 743 tun_info = skb_tunnel_info_txcheck(skb); in __gre6_xmit() 744 if (IS_ERR(tun_info) || in __gre6_xmit() 745 unlikely(ip_tunnel_info_af(tun_info) ! in __gre6_xmit() 881 struct ip_tunnel_info *tun_info = NULL; ip6gre_tunnel_xmit() local 924 struct ip_tunnel_info *tun_info = NULL; ip6erspan_tunnel_xmit() local [all...] |
| /linux/net/bridge/ |
| H A D | br_vlan_tunnel.c | 79 metadata->u.tun_info.mode |= IP_TUNNEL_INFO_TX | IP_TUNNEL_INFO_BRIDGE; in __vlan_tunnel_info_add() 216 tunnel_dst->u.tun_info.mode |= IP_TUNNEL_INFO_TX | in br_handle_egress_vlan_tunnel() 218 tunnel_dst->u.tun_info.key.nhid = in br_handle_egress_vlan_tunnel()
|
| /linux/net/openvswitch/ |
| H A D | flow.c | 1000 int ovs_flow_key_extract(const struct ip_tunnel_info *tun_info, in ovs_flow_key_extract() argument 1011 if (tun_info) { in ovs_flow_key_extract() 1012 key->tun_proto = ip_tunnel_info_af(tun_info); in ovs_flow_key_extract() 1013 memcpy(&key->tun_key, &tun_info->key, sizeof(key->tun_key)); in ovs_flow_key_extract() 1015 if (tun_info->options_len) { in ovs_flow_key_extract() 1016 BUILD_BUG_ON((1 << (sizeof(tun_info->options_len) * in ovs_flow_key_extract() 1020 ip_tunnel_info_opts_get(TUN_METADATA_OPTS(key, tun_info->options_len), in ovs_flow_key_extract() 1021 tun_info); in ovs_flow_key_extract() 1022 key->tun_opts_len = tun_info->options_len; in ovs_flow_key_extract()
|
| H A D | vport.c | 423 const struct ip_tunnel_info *tun_info) in ovs_vport_receive() argument 439 tun_info = NULL; in ovs_vport_receive() 443 error = ovs_flow_key_extract(tun_info, skb, &key); in ovs_vport_receive()
|
| H A D | flow_netlink.c | 980 struct ip_tunnel_info *tun_info) in ovs_nla_put_tunnel_info() argument 982 return __ip_tun_to_nlattr(skb, &tun_info->key, in ovs_nla_put_tunnel_info() 983 ip_tunnel_info_opts(tun_info), in ovs_nla_put_tunnel_info() 984 tun_info->options_len, in ovs_nla_put_tunnel_info() 985 ip_tunnel_info_af(tun_info), tun_info->mode); in ovs_nla_put_tunnel_info() 2807 struct ip_tunnel_info *tun_info; in validate_and_copy_set_tun() local 2847 err = dst_cache_init(&tun_dst->u.tun_info.dst_cache, GFP_KERNEL); in validate_and_copy_set_tun() 2861 tun_info = &tun_dst->u.tun_info; in validate_and_copy_set_tun() 2862 tun_info->mode = IP_TUNNEL_INFO_TX; in validate_and_copy_set_tun() 2864 tun_info->mode |= IP_TUNNEL_INFO_IPV6; in validate_and_copy_set_tun() [all …]
|
| H A D | flow_netlink.h | 50 struct ip_tunnel_info *tun_info);
|
| /linux/drivers/net/ |
| H A D | pfcp.c | 82 md = ip_tunnel_info_opts(&tun_dst->u.tun_info); in pfcp_encap_recv() 91 __set_bit(IP_TUNNEL_PFCP_OPT_BIT, tun_dst->u.tun_info.key.tun_flags); in pfcp_encap_recv() 92 tun_dst->u.tun_info.options_len = sizeof(*md); in pfcp_encap_recv()
|
| /linux/tools/testing/selftests/drivers/net/hw/ |
| H A D | tso.py | 99 def build_tunnel(cfg, outer_ipver, tun_info): argument 108 tun_type = tun_info[0] 109 tun_arg = tun_info[1]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/ |
| H A D | mirred.c | 185 parse_attr->tun_info[esw_attr->out_count] = in parse_mirred_encap() 186 mlx5e_dup_tun_info(parse_state->tun_info); in parse_mirred_encap() 188 if (!parse_attr->tun_info[esw_attr->out_count]) in parse_mirred_encap()
|
| H A D | tun.c | 29 parse_state->tun_info = act->tunnel; in tc_act_parse_tun_encap()
|
| H A D | act.h | 26 const struct ip_tunnel_info *tun_info; member
|
| /linux/net/sched/ |
| H A D | act_tunnel_key.c | 484 ret = dst_cache_init(&metadata->u.tun_info.dst_cache, GFP_KERNEL); in tunnel_key_init() 491 &metadata->u.tun_info, in tunnel_key_init() 497 metadata->u.tun_info.mode |= IP_TUNNEL_INFO_TX; in tunnel_key_init() 744 ¶ms->tcft_enc_metadata->u.tun_info; in tunnel_key_dump() 751 ¶ms->tcft_enc_metadata->u.tun_info) || in tunnel_key_dump() 897 ¶ms->tcft_enc_metadata->u.tun_info; in tunnel_key_get_fill_size()
|