mlx5hws_table_create(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ mlx5hws_table_create ✨

okay bestie, welcome to the Kernel API Manual πŸ’… this one's about spinning up a brand-new direct rule table, and it's lowkey iconic because each table can hold multiple matchers β€” like, a whole little squad of matchers living rent-free in one table 🫢 slay.


🌸 NAME 🌸

mlx5hws_table_create β€” creates a new direct rule table. and like, not just one lonely matcher either: each table can contain multiple matchers, periodt πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

struct mlx5hws_table * mlx5hws_table_create (struct mlx5hws_context *ctx
, struct mlx5hws_table_attr *attr );

that's the whole vibe β€” you hand it a context and some attrs, and it hands you back a table pointer (or doesn't, we'll get there 😭).


πŸŽ€ ARGUMENTS πŸŽ€

  • ctx β€” the context in which the new table will be opened. like, this is the world your table gets born into 🌈
  • attr β€” attributes used for table creation. the ~aesthetic~ settings, basically ✨

πŸ’œ RETURN πŸ’œ

a pointer to mlx5hws_table on success, and NULL otherwise πŸ™ˆ so yeah, check it, bestie β€” a NULL is not a slay.


πŸ‘‘ SEE ALSO πŸ‘‘

first up, the kernel file, no cap:

Kernel file
./drivers/net/ethernet/mellanox/mlx5/core/steering/hws/mlx5hws.h

and then the whole friend group, every single one, in order, not skipping anybody 🫢:

mlx5hws_is_supported(9), mlx5hws_context_open(9),
mlx5hws_context_close(9), mlx5hws_context_set_peer(9),
mlx5hws_table_destroy(9), mlx5hws_table_get_id(9),
mlx5hws_table_set_default_miss(9), mlx5hws_match_template_create(9),
mlx5hws_match_template_destroy(9), mlx5hws_action_template_create(9),
mlx5hws_action_template_destroy(9), mlx5hws_matcher_create(9),
mlx5hws_matcher_destroy(9), mlx5hws_matcher_attach_at(9),
mlx5hws_matcher_resize_set_target(9),
mlx5hws_matcher_resize_rule_move(9), mlx5hws_rule_create(9),
mlx5hws_rule_destroy(9), mlx5hws_rule_action_update(9),
mlx5hws_action_get_type(9), mlx5hws_action_get_dev(9),
mlx5hws_action_create_dest_drop(9),
mlx5hws_action_create_default_miss(9),
mlx5hws_action_create_dest_table(9),
mlx5hws_action_create_dest_table_num(9),
mlx5hws_action_create_dest_match_range(9),
mlx5hws_action_create_flow_sampler(9),
mlx5hws_action_create_dest_vport(9), mlx5hws_action_create_tag(9),
mlx5hws_action_create_counter(9), mlx5hws_action_create_reformat(9),
mlx5hws_action_create_modify_header(9),
mlx5hws_action_create_aso_meter(9), mlx5hws_action_create_pop_vlan(9),
mlx5hws_action_create_push_vlan(9), mlx5hws_action_create_dest_array(9),
mlx5hws_action_create_insert_header(9),
mlx5hws_action_create_remove_header(9), mlx5hws_action_create_last(9),
mlx5hws_action_destroy(9), mlx5hws_send_queue_poll(9),
mlx5hws_send_queue_action(9), mlx5hws_debug_dump(9),
mlx5hws_bwc_matcher_create(9), mlx5hws_bwc_matcher_destroy(9),
mlx5hws_bwc_rule_create(9), mlx5hws_bwc_rule_destroy(9),
mlx5hws_bwc_rule_action_update(9)

like, that's the entire group chat and they ALL got invited πŸ’€ iykyk.


ngl this page is giving "short but essential" β€” the whole plot is: give it ctx + attr, get a table or NULL. that's it, that's the arc πŸ”₯

and finally, a cute little sign-off πŸŽ€ this one comes from ./drivers/net/ethernet/mellano... (yes that's the source/version line, she's shy so she got shortened πŸ™ˆ) and it's dated October 2026 β€” mark your calendars, bestie πŸ’– and that's the mlx5hws_table_create(9) page, done and dusted, periodt βœ¨πŸ¦‹

πŸ“¦ where this page comes from