drivers/net/ethernet/mellanox/mlx5/core/en/xsk/pool.h

Source file repositories/reference/linux-study-clean/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/pool.h

File Facts

System
Linux kernel
Corpus path
drivers/net/ethernet/mellanox/mlx5/core/en/xsk/pool.h
Extension
.h
Size
732 bytes
Lines
28
Domain
Driver Families
Bucket
drivers/net
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef __MLX5_EN_XSK_POOL_H__
#define __MLX5_EN_XSK_POOL_H__

#include "en.h"

static inline struct xsk_buff_pool *mlx5e_xsk_get_pool(struct mlx5e_params *params,
						       struct mlx5e_xsk *xsk, u16 ix)
{
	if (!xsk || !xsk->pools)
		return NULL;

	if (unlikely(ix >= params->num_channels))
		return NULL;

	return xsk->pools[ix];
}

struct mlx5e_xsk_param;
void mlx5e_build_xsk_param(struct xsk_buff_pool *pool, struct mlx5e_xsk_param *xsk);

/* .ndo_bpf callback. */
int mlx5e_xsk_setup_pool(struct net_device *dev, struct xsk_buff_pool *pool, u16 qid);

#endif /* __MLX5_EN_XSK_POOL_H__ */

Annotation

Implementation Notes