/linux/net/core/ |
H A D | dst.c | 272 static void __metadata_dst_init(struct metadata_dst *md_dst, in __metadata_dst_init() argument 277 dst = &md_dst->dst; in __metadata_dst_init() 280 memset(dst + 1, 0, sizeof(*md_dst) + optslen - sizeof(*dst)); in __metadata_dst_init() 281 md_dst->type = type; in __metadata_dst_init() 287 struct metadata_dst *md_dst; in metadata_dst_alloc() local 289 md_dst = kmalloc(sizeof(*md_dst) + optslen, flags); in metadata_dst_alloc() 290 if (!md_dst) in metadata_dst_alloc() 293 __metadata_dst_init(md_dst, type, optslen); in metadata_dst_alloc() 295 return md_dst; in metadata_dst_alloc() 299 void metadata_dst_free(struct metadata_dst *md_dst) in metadata_dst_free() argument [all …]
|
H A D | flow_dissector.c | 1085 struct metadata_dst *md_dst = skb_metadata_dst(skb); in __skb_flow_dissect() local 1092 (!md_dst || md_dst->type != METADATA_HW_PORT_MUX)) { in __skb_flow_dissect()
|
H A D | filter.c | 4785 static struct metadata_dst __percpu *md_dst; variable 4790 struct metadata_dst *md = this_cpu_ptr(md_dst); in BPF_CALL_4() 4872 const struct metadata_dst *md = this_cpu_ptr(md_dst); in BPF_CALL_3() 4898 if (!md_dst) { in bpf_get_skb_set_tunnel_proto() 4906 if (cmpxchg(&md_dst, NULL, tmp)) in bpf_get_skb_set_tunnel_proto()
|
/linux/include/net/ |
H A D | dst_metadata.h | 45 struct metadata_dst *md_dst = (struct metadata_dst *) skb_dst(skb); in skb_metadata_dst() local 47 if (md_dst && md_dst->dst.flags & DST_METADATA) in skb_metadata_dst() 48 return md_dst; in skb_metadata_dst() 56 struct metadata_dst *md_dst = skb_metadata_dst(skb); in skb_tunnel_info() local 59 if (md_dst && md_dst->type == METADATA_IP_TUNNEL) in skb_tunnel_info() 60 return &md_dst->u.tun_info; in skb_tunnel_info() 78 struct metadata_dst *md_dst = skb_metadata_dst(skb); in skb_xfrm_md_info() local 81 if (md_dst && md_dst->type == METADATA_XFRM) in skb_xfrm_md_info() 82 return &md_dst->u.xfrm_info; in skb_xfrm_md_info() 135 void metadata_dst_free_percpu(struct metadata_dst __percpu *md_dst); [all …]
|
/linux/net/xfrm/ |
H A D | xfrm_interface_bpf.c | 65 struct metadata_dst *md_dst; in bpf_skb_set_xfrm_info() local 80 md_dst = this_cpu_ptr(xfrm_bpf_md_dst); in bpf_skb_set_xfrm_info() 82 info = &md_dst->u.xfrm_info; in bpf_skb_set_xfrm_info() 89 dst_hold((struct dst_entry *)md_dst); in bpf_skb_set_xfrm_info() 90 skb_dst_set(skb, (struct dst_entry *)md_dst); in bpf_skb_set_xfrm_info()
|
H A D | xfrm_interface_core.c | 409 struct metadata_dst *md_dst; in xfrmi_rcv_cb() local 411 md_dst = metadata_dst_alloc(0, METADATA_XFRM, GFP_ATOMIC); in xfrmi_rcv_cb() 412 if (!md_dst) in xfrmi_rcv_cb() 415 md_dst->u.xfrm_info.if_id = x->if_id; in xfrmi_rcv_cb() 416 md_dst->u.xfrm_info.link = link; in xfrmi_rcv_cb() 417 skb_dst_set(skb, (struct dst_entry *)md_dst); in xfrmi_rcv_cb()
|
/linux/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ |
H A D | macsec.h | 27 struct metadata_dst *md_dst = skb_metadata_dst(skb); in mlx5e_macsec_skb_is_offload() local 29 return md_dst && (md_dst->type == METADATA_MACSEC); in mlx5e_macsec_skb_is_offload()
|
H A D | macsec.c | 85 struct metadata_dst *md_dst; member 726 rx_sc->md_dst = metadata_dst_alloc(0, METADATA_MACSEC, GFP_KERNEL); in mlx5e_macsec_add_rxsc() 727 if (!rx_sc->md_dst) { in mlx5e_macsec_add_rxsc() 737 rx_sc->md_dst->u.macsec_info.sci = rx_sc->sci; in mlx5e_macsec_add_rxsc() 831 metadata_dst_free(rx_sc->md_dst); in macsec_del_rxsc_ctx() 1652 struct metadata_dst *md_dst = skb_metadata_dst(skb); in mlx5e_macsec_handle_tx_skb() local 1656 &md_dst->u.macsec_info.sci); in mlx5e_macsec_handle_tx_skb() 1671 struct metadata_dst *md_dst = skb_metadata_dst(skb); in mlx5e_macsec_tx_build_eseg() local 1675 &md_dst->u.macsec_info.sci); in mlx5e_macsec_tx_build_eseg() 1703 dst_hold(&rx_sc->md_dst->dst); in mlx5e_macsec_offload_handle_rx_skb() [all …]
|
/linux/net/dsa/ |
H A D | tag.c | 57 struct metadata_dst *md_dst = skb_metadata_dst(skb); in dsa_switch_rcv() local 71 if (md_dst && md_dst->type == METADATA_HW_PORT_MUX) { in dsa_switch_rcv() 72 unsigned int port = md_dst->u.port_info.port_id; in dsa_switch_rcv()
|
/linux/drivers/net/ |
H A D | macsec.c | 986 struct metadata_dst *md_dst; in handle_not_macsec() local 993 md_dst = skb_metadata_dst(skb); in handle_not_macsec() 994 is_macsec_md_dst = md_dst && md_dst->type == METADATA_MACSEC; in handle_not_macsec() 1021 md_dst->u.macsec_info.sci); in handle_not_macsec() 3483 struct metadata_dst *md_dst = secy->tx_sc.md_dst; in macsec_start_xmit() local 3486 dst_hold(&md_dst->dst); in macsec_start_xmit() 3487 skb_dst_set(skb, &md_dst->dst); in macsec_start_xmit() 3829 dst_release(&macsec->secy.tx_sc.md_dst->dst); in macsec_free_netdev() 4111 secy->tx_sc.md_dst = metadata_dst_alloc(0, METADATA_MACSEC, GFP_KERNEL); in macsec_add_dev() 4112 if (!secy->tx_sc.md_dst) in macsec_add_dev() [all …]
|
/linux/drivers/net/ethernet/mediatek/ |
H A D | mtk_eth_soc.c | 3438 struct metadata_dst *md_dst = eth->dsa_meta[i]; in mtk_open() local 3440 if (md_dst) in mtk_open() 3443 md_dst = metadata_dst_alloc(0, METADATA_HW_PORT_MUX, in mtk_open() 3445 if (!md_dst) in mtk_open() 3448 md_dst->u.port_info.port_id = i; in mtk_open() 3449 eth->dsa_meta[i] = md_dst; in mtk_open()
|
/linux/drivers/net/ethernet/broadcom/bnxt/ |
H A D | bnxt.c | 443 struct metadata_dst *md_dst = skb_metadata_dst(skb); in bnxt_xmit_get_cfa_action() local 445 if (!md_dst || md_dst->type != METADATA_HW_PORT_MUX) in bnxt_xmit_get_cfa_action() 448 return md_dst->u.port_info.port_id; in bnxt_xmit_get_cfa_action()
|