#ifndef __MLX5E_EN_ACCEL_H__
#define __MLX5E_EN_ACCEL_H__
#include <linux/skbuff.h>
#include <linux/netdevice.h>
#include "en_accel/ipsec_rxtx.h"
#include "en_accel/ktls.h"
#include "en_accel/ktls_txrx.h"
#include <en_accel/macsec.h>
#include "en.h"
#include "en/txrx.h"
#if IS_ENABLED(CONFIG_GENEVE)
#include <net/geneve.h>
static inline bool mlx5_geneve_tx_allowed(struct mlx5_core_dev *mdev)
{ … }
static inline void
mlx5e_tx_tunnel_accel(struct sk_buff *skb, struct mlx5_wqe_eth_seg *eseg, u16 ihs)
{ … }
#else
static inline bool mlx5_geneve_tx_allowed(struct mlx5_core_dev *mdev)
{
return false;
}
#endif
static inline void
mlx5e_udp_gso_handle_tx_skb(struct sk_buff *skb)
{ … }
struct mlx5e_accel_tx_state { … };
static inline bool mlx5e_accel_tx_begin(struct net_device *dev,
struct mlx5e_txqsq *sq,
struct sk_buff *skb,
struct mlx5e_accel_tx_state *state)
{ … }
static inline unsigned int mlx5e_accel_tx_ids_len(struct mlx5e_txqsq *sq,
struct mlx5e_accel_tx_state *state)
{ … }
#define MLX5E_ACCEL_ESEG_LEN …
static inline void mlx5e_accel_tx_eseg(struct mlx5e_priv *priv,
struct sk_buff *skb,
struct mlx5_wqe_eth_seg *eseg, u16 ihs)
{ … }
static inline void mlx5e_accel_tx_finish(struct mlx5e_txqsq *sq,
struct mlx5e_tx_wqe *wqe,
struct mlx5e_accel_tx_state *state,
struct mlx5_wqe_inline_seg *inlseg)
{ … }
static inline int mlx5e_accel_init_rx(struct mlx5e_priv *priv)
{ … }
static inline void mlx5e_accel_cleanup_rx(struct mlx5e_priv *priv)
{ … }
static inline int mlx5e_accel_init_tx(struct mlx5e_priv *priv)
{ … }
static inline void mlx5e_accel_cleanup_tx(struct mlx5e_priv *priv)
{ … }
#endif