mlx5dv_create_st..._steering_anchor(3)
okay bestie, welcome to the mlx5dv_create_st..._steering_anchor(3) manual page β this is the one about steering anchors, and yes weβre gonna make it make sense π
β¨
π NAME π
mlx5dv_create_steering_anchor β creates a steering anchor, no cap π«Ά
mlx5dv_destroy_steering_anchor β destroys a steering anchor, periodt π
β¨ SYNOPSIS β¨
#include <infiniband/mlx5dv.h>
struct mlx5dv_steering_anchor *
mlx5dv_create_steering_anchor(struct ibv_context *context,
struct mlx5dv_steering_anchor_attr *attr);
int mlx5dv_destroy_steering_anchor(struct mlx5dv_steering_anchor *sa);
πΈ DESCRIPTION πΈ
So the vibe is: a user can take packets into a user-configured sandbox and do packet processing there. At the end of that little journey, a steering pipeline decision is made about what to do with the packet. Iconic, honestly π
A steering anchor lets the user reinject the packet back into the kernel for additional processing. Like sending it back home for extra glow-up time π§
mlx5dv_create_steering_anchor() creates an anchor that will allow injecting the packet back into the kernel steering pipeline. Obsessed with the pipeline re-entry moment π«
mlx5dv_destroy_steering_anchor() destroys a steering anchor. Cleanup queen behavior π
π ARGUMENTS π
context
The device context to associate the steering anchor with. Basically: which device is this anchor gonna be linked to, bestie? π¦
attr
Anchor attributes specify the priority and flow table type to which the anchor will point. Itβs giving βtell me where this anchor should aim its main character energyβ β¨
struct mlx5dv_steering_anchor_attr {
enum mlx5dv_flow_table_type ft_type;
uint16_t priority;
uint64_t comp_mask;
};
ft_typeβ the flow table type to which the anchor will point. The destination type, iykyk πpriorityβ the priority insideft_typeto which the created anchor will point. Priorities matter, fr fr π―comp_maskβ reserved for future extension, must be0now.
π¨ bestie do not mess withcomp_maskβ itβs reserved for future extension and must be0now. No cap.
mlx5dv_steering_anchor
struct mlx5dv_steering_anchor {
uint32_t id;
};
idβ the flow table ID to use as the destination when creating the flow table entry. Thatβs the destination ID, periodt π
β RETURN VALUE β
mlx5dv_create_steering_anchor()β returns a pointer to a newmlx5dv_steering_anchoron success. On errorNULLis returned anderrnois set. Sad girl error path πmlx5dv_destroy_steering_anchor()β returns0on success and errno value on error. Very straightforward, very demure π
π AUTHORS π
Mark Bloch <mbloch@nvidia.com> β author credit, legendary behavior π
source/version + date check, bestie: the footer is literally mlx5dv_create_st..._steering_anchor(3), and the page doesnβt show a separate version or date beyond that β so thatβs the whole paper trail, slay πβ¨
π¦ where this page comes from
- alpine 3.24: rdma-core-doc 61.0-r0 Β· GPL-2.0-only OR BSD-2-Clause
- centos-stream 10: rdma-core-devel 62.0-3.el10 Β· GPLv2 or BSD
- centos-stream 9: rdma-core-devel 61.0-3.el9 Β· GPLv2 or BSD
- centos-stream 9: rdma-core-devel 61.0-3.el9 Β· GPLv2 or BSD
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms