/linux-master/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ |
H A D | ipsec_rxtx.h | 80 static inline bool mlx5e_ipsec_eseg_meta(struct mlx5_wqe_eth_seg *eseg) argument 82 return eseg->flow_table_metadata & cpu_to_be32(MLX5_ETH_WQE_FT_META_IPSEC); 86 struct mlx5_wqe_eth_seg *eseg); 124 struct mlx5_wqe_eth_seg *eseg) 128 if (!mlx5e_ipsec_eseg_meta(eseg)) 131 eseg->cs_flags = MLX5_ETH_WQE_L3_CSUM; 134 eseg->cs_flags |= MLX5_ETH_WQE_L3_INNER_CSUM; 136 eseg->cs_flags |= MLX5_ETH_WQE_L4_INNER_CSUM; 138 eseg->cs_flags |= MLX5_ETH_WQE_L4_CSUM; 151 static inline bool mlx5e_ipsec_eseg_meta(struct mlx5_wqe_eth_seg *eseg) argument 123 mlx5e_ipsec_txwqe_build_eseg_csum(struct mlx5e_txqsq *sq, struct sk_buff *skb, struct mlx5_wqe_eth_seg *eseg) argument 162 mlx5e_ipsec_txwqe_build_eseg_csum(struct mlx5e_txqsq *sq, struct sk_buff *skb, struct mlx5_wqe_eth_seg *eseg) argument [all...] |
H A D | ipsec_rxtx.c | 76 struct mlx5_wqe_eth_seg *eseg, u8 mode, 93 eseg->swp_outer_l3_offset = skb_network_offset(skb) / 2; 95 eseg->swp_flags |= MLX5_ETH_WQE_SWP_OUTER_L3_IPV6; 99 eseg->swp_inner_l3_offset = skb_inner_network_offset(skb) / 2; 101 eseg->swp_flags |= MLX5_ETH_WQE_SWP_INNER_L3_IPV6; 105 eseg->swp_flags |= MLX5_ETH_WQE_SWP_INNER_L4_UDP; 109 eseg->swp_inner_l4_offset = skb_inner_transport_offset(skb) / 2; 124 eseg->swp_flags |= MLX5_ETH_WQE_SWP_OUTER_L4_UDP; 128 eseg->swp_outer_l4_offset = skb_inner_transport_offset(skb) / 2; 137 eseg 75 mlx5e_ipsec_set_swp(struct sk_buff *skb, struct mlx5_wqe_eth_seg *eseg, u8 mode, struct xfrm_offload *xo) argument 219 mlx5e_ipsec_tx_build_eseg(struct mlx5e_priv *priv, struct sk_buff *skb, struct mlx5_wqe_eth_seg *eseg) argument [all...] |
H A D | en_accel.h | 55 mlx5e_tx_tunnel_accel(struct sk_buff *skb, struct mlx5_wqe_eth_seg *eseg, u16 ihs) argument 88 mlx5e_set_eseg_swp(skb, eseg, &swp_spec); 90 mlx5e_eseg_swp_offsets_add_vlan(eseg); 164 /* Part of the eseg touched by TX offloads */ 169 struct mlx5_wqe_eth_seg *eseg, u16 ihs) 173 mlx5e_ipsec_tx_build_eseg(priv, skb, eseg); 178 mlx5e_macsec_tx_build_eseg(priv->macsec, skb, eseg); 183 mlx5e_tx_tunnel_accel(skb, eseg, ihs); 167 mlx5e_accel_tx_eseg(struct mlx5e_priv *priv, struct sk_buff *skb, struct mlx5_wqe_eth_seg *eseg, u16 ihs) argument
|
H A D | macsec.h | 23 struct mlx5_wqe_eth_seg *eseg);
|
H A D | macsec.c | 1665 struct mlx5_wqe_eth_seg *eseg) 1675 eseg->flow_table_metadata = cpu_to_be32(MLX5_ETH_WQE_FT_META_MACSEC | fs_id << 2); 1663 mlx5e_macsec_tx_build_eseg(struct mlx5e_macsec *macsec, struct sk_buff *skb, struct mlx5_wqe_eth_seg *eseg) argument
|
/linux-master/drivers/net/ethernet/mellanox/mlx5/core/ |
H A D | en_tx.c | 121 struct mlx5_wqe_eth_seg *eseg) 123 if (unlikely(mlx5e_ipsec_txwqe_build_eseg_csum(sq, skb, eseg))) 127 eseg->cs_flags = MLX5_ETH_WQE_L3_CSUM; 129 eseg->cs_flags |= MLX5_ETH_WQE_L3_INNER_CSUM | 133 eseg->cs_flags |= MLX5_ETH_WQE_L4_CSUM; 138 eseg->cs_flags = MLX5_ETH_WQE_L3_CSUM | MLX5_ETH_WQE_L4_CSUM; 375 struct mlx5_wqe_eth_seg *eseg, bool xmit_more) 399 u8 metadata_index = be32_to_cpu(eseg->flow_table_metadata); 428 struct mlx5_wqe_eth_seg *eseg; local 441 eseg 119 mlx5e_txwqe_build_eseg_csum(struct mlx5e_txqsq *sq, struct sk_buff *skb, struct mlx5e_accel_tx_state *accel, struct mlx5_wqe_eth_seg *eseg) argument 371 mlx5e_txwqe_complete(struct mlx5e_txqsq *sq, struct sk_buff *skb, const struct mlx5e_tx_attr *attr, const struct mlx5e_tx_wqe_attr *wqe_attr, u8 num_dma, struct mlx5e_tx_wqe_info *wi, struct mlx5_wqe_ctrl_seg *cseg, struct mlx5_wqe_eth_seg *eseg, bool xmit_more) argument 511 mlx5e_tx_mpwqe_same_eseg(struct mlx5e_txqsq *sq, struct mlx5_wqe_eth_seg *eseg) argument 519 mlx5e_tx_mpwqe_session_start(struct mlx5e_txqsq *sq, struct mlx5_wqe_eth_seg *eseg) argument 598 mlx5e_sq_xmit_mpwqe(struct mlx5e_txqsq *sq, struct sk_buff *skb, struct mlx5_wqe_eth_seg *eseg, bool xmit_more) argument 654 mlx5e_cqe_ts_id_eseg(struct mlx5e_ptpsq *ptpsq, struct sk_buff *skb, struct mlx5_wqe_eth_seg *eseg) argument 662 mlx5e_txwqe_build_eseg(struct mlx5e_priv *priv, struct mlx5e_txqsq *sq, struct sk_buff *skb, struct mlx5e_accel_tx_state *accel, struct mlx5_wqe_eth_seg *eseg, u16 ihs) argument 709 struct mlx5_wqe_eth_seg eseg = {}; local 981 struct mlx5_wqe_eth_seg *eseg; local [all...] |
H A D | en_main.c | 1968 struct mlx5_wqe_eth_seg *eseg = &wqe->eth; local 1976 eseg->inline_hdr.sz = cpu_to_be16(inline_hdr_sz);
|
/linux-master/drivers/net/ethernet/mellanox/mlx5/core/en/ |
H A D | txrx.h | 421 static inline void mlx5e_eseg_swp_offsets_add_vlan(struct mlx5_wqe_eth_seg *eseg) argument 424 eseg->swp_outer_l3_offset += VLAN_HLEN / 2; 425 eseg->swp_outer_l4_offset += VLAN_HLEN / 2; 426 eseg->swp_inner_l3_offset += VLAN_HLEN / 2; 427 eseg->swp_inner_l4_offset += VLAN_HLEN / 2; 431 mlx5e_set_eseg_swp(struct sk_buff *skb, struct mlx5_wqe_eth_seg *eseg, argument 435 eseg->swp_outer_l3_offset = skb_network_offset(skb) / 2; 437 eseg->swp_flags |= MLX5_ETH_WQE_SWP_OUTER_L3_IPV6; 439 eseg->swp_outer_l4_offset = skb_transport_offset(skb) / 2; 441 eseg [all...] |
H A D | xdp.c | 299 struct mlx5_wqe_eth_seg *eseg = priv; local 302 eseg->cs_flags |= MLX5_ETH_WQE_L3_CSUM | MLX5_ETH_WQE_L4_CSUM; 537 struct mlx5_wqe_eth_seg *eseg; local 592 eseg = &wqe->eth; 597 memcpy(eseg->inline_hdr.start, xdptxd->data, sizeof(eseg->inline_hdr.start)); 598 memcpy(dseg, xdptxd->data + sizeof(eseg->inline_hdr.start), 599 inline_hdr_sz - sizeof(eseg->inline_hdr.start)); 619 memset(eseg, 0, sizeof(*eseg) [all...] |
/linux-master/drivers/infiniband/hw/mlx5/ |
H A D | wr.c | 57 struct mlx5_wqe_eth_seg *eseg = *seg; local 59 memset(eseg, 0, sizeof(struct mlx5_wqe_eth_seg)); 62 eseg->cs_flags = MLX5_ETH_WQE_L3_CSUM | 72 eseg->mss = cpu_to_be16(ud_wr->mss); 73 eseg->inline_hdr.sz = cpu_to_be16(left); 79 copysz = min_t(u64, *cur_edge - (void *)eseg->inline_hdr.start, 81 memcpy(eseg->inline_hdr.data, pdata, copysz); 83 sizeof(eseg->inline_hdr.start) + copysz, 16);
|