Home
last modified time | relevance | path

Searched refs:tun_info (Results 1 – 25 of 43) sorted by relevance

12

/linux-6.15/net/ipv4/
H A Dip_tunnel_core.c136 src = &md->u.tun_info; in iptunnel_metadata_reply()
141 dst = &res->u.tun_info; in iptunnel_metadata_reply()
660 struct ip_tunnel_info *tun_info; in ip_tun_build_state() local
678 tun_info = lwt_tun_info(new_state); in ip_tun_build_state()
720 tun_info->mode = IP_TUNNEL_INFO_TX; in ip_tun_build_state()
721 tun_info->options_len = opt_len; in ip_tun_build_state()
775 md = ip_tunnel_info_opts(tun_info); in ip_tun_fill_encap_opts_vxlan()
795 md = ip_tunnel_info_opts(tun_info); in ip_tun_fill_encap_opts_erspan()
954 struct ip_tunnel_info *tun_info; in ip6_tun_build_state() local
972 tun_info = lwt_tun_info(new_state); in ip6_tun_build_state()
[all …]
H A Dip_tunnel.c590 struct ip_tunnel_info *tun_info; in ip_md_tunnel_xmit() local
599 tun_info = skb_tunnel_info(skb); in ip_md_tunnel_xmit()
600 if (unlikely(!tun_info || !(tun_info->mode & IP_TUNNEL_INFO_TX) || in ip_md_tunnel_xmit()
601 ip_tunnel_info_af(tun_info) != AF_INET)) in ip_md_tunnel_xmit()
603 key = &tun_info->key; in ip_md_tunnel_xmit()
687 struct ip_tunnel_info *tun_info = NULL; in ip_tunnel_xmit() local
715 tun_info = skb_tunnel_info(skb); in ip_tunnel_xmit()
716 if (tun_info && (tun_info->mode & IP_TUNNEL_INFO_TX) && in ip_tunnel_xmit()
717 ip_tunnel_info_af(tun_info) == AF_INET && in ip_tunnel_xmit()
718 tun_info->key.u.ipv4.dst) { in ip_tunnel_xmit()
[all …]
H A Dip_gre.c347 info = &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()
510 key = &tun_info->key; in gre_fb_xmit()
544 struct ip_tunnel_info *tun_info; in erspan_fb_xmit() local
553 tun_info = skb_tunnel_info(skb); in erspan_fb_xmit()
554 if (unlikely(!tun_info || !(tun_info->mode & IP_TUNNEL_INFO_TX) || in erspan_fb_xmit()
558 key = &tun_info->key; in erspan_fb_xmit()
561 if (tun_info->options_len < sizeof(*md)) in erspan_fb_xmit()
[all …]
/linux-6.15/include/net/
H A Ddst_metadata.h36 struct ip_tunnel_info tun_info; member
60 return &md_dst->u.tun_info; in skb_tunnel_info()
118 return memcmp(&a->u.tun_info, &b->u.tun_info, in skb_metadata_dst_cmp()
119 sizeof(a->u.tun_info) + in skb_metadata_dst_cmp()
120 a->u.tun_info.options_len); in skb_metadata_dst_cmp()
147 tun_dst->u.tun_info.options_len = 0; in tun_rx_dst()
148 tun_dst->u.tun_info.mode = 0; in tun_rx_dst()
161 md_size = md_dst->u.tun_info.options_len; in tun_dst_unclone()
166 memcpy(&new_md->u.tun_info, &md_dst->u.tun_info, in tun_dst_unclone()
194 return &dst->u.tun_info; in skb_tunnel_info_unclone()
[all …]
/linux-6.15/net/psample/
H A Dpsample.c217 struct ip_tunnel_info *tun_info) in __psample_ip_tun_to_nlattr() argument
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
315 int tun_opts_len = tun_info->options_len; in psample_tunnel_meta_len()
321 if (tun_info->mode & IP_TUNNEL_INFO_BRIDGE) in psample_tunnel_meta_len()
372 struct ip_tunnel_info *tun_info; in psample_sample_packet() local
401 tun_info = skb_tunnel_info(skb); in psample_sample_packet()
402 if (tun_info) in psample_sample_packet()
403 meta_len += psample_tunnel_meta_len(tun_info); in psample_sample_packet()
[all …]
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en/
H A Dtc_tun_geneve.c19 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 Dtc_tun_encap.c475 kfree(e->tun_info); in mlx5e_encap_dealloc()
664 e_key.ip_tun_key = &e->tun_info->key; in mlx5e_encap_get()
694 size_t tun_size = sizeof(*tun_info) + tun_info->options_len; in mlx5e_dup_tun_info()
842 tun_info = parse_attr->tun_info[out_index]; in mlx5e_attach_encap()
844 family = ip_tunnel_info_af(tun_info); in mlx5e_attach_encap()
845 key.ip_tun_key = &tun_info->key; in mlx5e_attach_encap()
878 tun_info = mlx5e_dup_tun_info(tun_info); in mlx5e_attach_encap()
879 if (!tun_info) { in mlx5e_attach_encap()
883 e->tun_info = tun_info; in mlx5e_attach_encap()
941 kfree(tun_info); in mlx5e_attach_encap()
[all …]
H A Dtc_tun_vxlan.c66 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 Dtc_tun_gre.c14 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 Dtc_tun_encap.h42 struct ip_tunnel_info *mlx5e_dup_tun_info(const struct ip_tunnel_info *tun_info);
/linux-6.15/net/netfilter/
H A Dnft_tunnel.c29 struct ip_tunnel_info *tun_info; in nft_tunnel_get_eval() local
31 tun_info = skb_tunnel_info(pkt->skb); in nft_tunnel_get_eval()
35 if (!tun_info) { in nft_tunnel_get_eval()
41 !(tun_info->mode & IP_TUNNEL_INFO_TX)) || in nft_tunnel_get_eval()
43 (tun_info->mode & IP_TUNNEL_INFO_TX))) in nft_tunnel_get_eval()
49 if (!tun_info) { in nft_tunnel_get_eval()
55 !(tun_info->mode & IP_TUNNEL_INFO_TX)) || in nft_tunnel_get_eval()
57 (tun_info->mode & IP_TUNNEL_INFO_TX))) in nft_tunnel_get_eval()
58 *dest = ntohl(tunnel_id_to_key32(tun_info->key.tun_id)); in nft_tunnel_get_eval()
514 memcpy(&md->u.tun_info, &info, sizeof(info)); in nft_tunnel_obj_init()
[all …]
H A Dnf_flow_table_offload.c33 struct ip_tunnel_info *tun_info) in nf_flow_rule_lwt_match() argument
39 if (!tun_info || !(tun_info->mode & IP_TUNNEL_INFO_TX)) in nf_flow_rule_lwt_match()
96 struct ip_tunnel_info *tun_info; in nf_flow_rule_match() local
109 nf_flow_rule_lwt_match(match, tun_info); in nf_flow_rule_match()
591 struct ip_tunnel_info *tun_info; in flow_offload_encap_tunnel() local
593 tun_info = lwt_tun_info(dst->lwtstate); in flow_offload_encap_tunnel()
594 if (tun_info && (tun_info->mode & IP_TUNNEL_INFO_TX)) { in flow_offload_encap_tunnel()
597 entry->tunnel = tun_info; in flow_offload_encap_tunnel()
616 struct ip_tunnel_info *tun_info; in flow_offload_decap_tunnel() local
618 tun_info = lwt_tun_info(dst->lwtstate); in flow_offload_decap_tunnel()
[all …]
/linux-6.15/net/core/
H A Ddst.c173 dst_cache_reset_now(&md_dst->u.tun_info.dst_cache); in dst_release()
297 md_dst = kmalloc(struct_size(md_dst, u.tun_info.options, optslen), 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-6.15/net/bridge/
H A Dbr_vlan_tunnel.c79 metadata->u.tun_info.mode |= IP_TUNNEL_INFO_TX | IP_TUNNEL_INFO_BRIDGE; in __vlan_tunnel_info_add()
213 tunnel_dst->u.tun_info.mode |= IP_TUNNEL_INFO_TX | in br_handle_egress_vlan_tunnel()
215 tunnel_dst->u.tun_info.key.nhid = in br_handle_egress_vlan_tunnel()
/linux-6.15/net/ipv6/
H A Dip6_gre.c578 info = &tun_dst->u.tun_info; in ip6erspan_rcv()
738 struct ip_tunnel_info *tun_info; in skb_tunnel_info_txcheck() local
740 tun_info = skb_tunnel_info(skb); in skb_tunnel_info_txcheck()
741 if (unlikely(!tun_info || !(tun_info->mode & IP_TUNNEL_INFO_TX))) in skb_tunnel_info_txcheck()
744 return tun_info; in skb_tunnel_info_txcheck()
768 struct ip_tunnel_info *tun_info; in __gre6_xmit() local
773 if (IS_ERR(tun_info) || in __gre6_xmit()
777 key = &tun_info->key; in __gre6_xmit()
1008 if (IS_ERR(tun_info) || in ip6erspan_tunnel_xmit()
1012 key = &tun_info->key; in ip6erspan_tunnel_xmit()
[all …]
/linux-6.15/drivers/net/
H A Dpfcp.c74 md = ip_tunnel_info_opts(&tun_dst->u.tun_info); in pfcp_encap_recv()
83 __set_bit(IP_TUNNEL_PFCP_OPT_BIT, tun_dst->u.tun_info.key.tun_flags); in pfcp_encap_recv()
84 tun_dst->u.tun_info.options_len = sizeof(*md); in pfcp_encap_recv()
/linux-6.15/net/openvswitch/
H A Dflow.c1001 int ovs_flow_key_extract(const struct ip_tunnel_info *tun_info, in ovs_flow_key_extract() argument
1012 if (tun_info) { in ovs_flow_key_extract()
1013 key->tun_proto = ip_tunnel_info_af(tun_info); in ovs_flow_key_extract()
1014 memcpy(&key->tun_key, &tun_info->key, sizeof(key->tun_key)); in ovs_flow_key_extract()
1016 if (tun_info->options_len) { in ovs_flow_key_extract()
1017 BUILD_BUG_ON((1 << (sizeof(tun_info->options_len) * in ovs_flow_key_extract()
1021 ip_tunnel_info_opts_get(TUN_METADATA_OPTS(key, tun_info->options_len), in ovs_flow_key_extract()
1022 tun_info); in ovs_flow_key_extract()
1023 key->tun_opts_len = tun_info->options_len; in ovs_flow_key_extract()
H A Dflow_netlink.c983 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()
2768 struct ip_tunnel_info *tun_info; in validate_and_copy_set_tun() local
2822 tun_info = &tun_dst->u.tun_info; in validate_and_copy_set_tun()
2828 tun_info->key = key.tun_key; in validate_and_copy_set_tun()
2834 ip_tunnel_info_opts_set(tun_info, in validate_and_copy_set_tun()
3737 struct ip_tunnel_info *tun_info = &ovs_tun->tun_dst->u.tun_info; in set_action_to_attr() local
3744 ip_tunnel_info_opts(tun_info), in set_action_to_attr()
3745 tun_info->options_len, in set_action_to_attr()
[all …]
H A Dvport.c495 const struct ip_tunnel_info *tun_info) in ovs_vport_receive() argument
510 tun_info = NULL; in ovs_vport_receive()
514 error = ovs_flow_key_extract(tun_info, skb, &key); in ovs_vport_receive()
/linux-6.15/tools/testing/selftests/drivers/net/hw/
H A Dtso.py95 def build_tunnel(cfg, outer_ipver, tun_info): argument
104 tun_type = tun_info[0]
105 tun_arg = tun_info[2]
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/
H A Dmirred.c185 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 Dtun.c29 parse_state->tun_info = act->tunnel; in tc_act_parse_tun_encap()
/linux-6.15/drivers/net/ethernet/netronome/nfp/flower/
H A Dtunnel_conf.c55 } tun_info[]; member
76 } tun_info[]; member
225 if (pay_len != struct_size(payload, tun_info, count)) { in nfp_tunnel_keep_alive()
232 ipv4_addr = payload->tun_info[i].ipv4; in nfp_tunnel_keep_alive()
233 port = be32_to_cpu(payload->tun_info[i].egress_port); in nfp_tunnel_keep_alive()
267 if (pay_len != struct_size(payload, tun_info, count)) { in nfp_tunnel_keep_alive_v6()
274 ipv6_add = &payload->tun_info[i].ipv6; in nfp_tunnel_keep_alive_v6()
275 port = be32_to_cpu(payload->tun_info[i].egress_port); in nfp_tunnel_keep_alive_v6()
/linux-6.15/net/sched/
H A Dact_tunnel_key.c480 ret = dst_cache_init(&metadata->u.tun_info.dst_cache, GFP_KERNEL); in tunnel_key_init()
487 &metadata->u.tun_info, in tunnel_key_init()
493 metadata->u.tun_info.mode |= IP_TUNNEL_INFO_TX; in tunnel_key_init()
740 &params->tcft_enc_metadata->u.tun_info; in tunnel_key_dump()
747 &params->tcft_enc_metadata->u.tun_info) || in tunnel_key_dump()
/linux-6.15/include/net/tc_act/
H A Dtc_tunnel_key.h64 return &params->tcft_enc_metadata->u.tun_info; in tcf_tunnel_info()

12