ice_nearest_proto_id(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– ice_nearest_proto_id(9) β€” the manual page, but make it cute πŸ’–

okay so bestie, welcome to the ice_nearest_proto_id(9) page from the Kernel API Manual ✨ this one is short and sweet and honestly iconic β€” it's a little helper that goes digging through your parser results looking for the closest protocol. let me walk you through it 🫢


🌸 NAME 🌸

ice_nearest_proto_id β€” find nearest protocol ID ✨ literally that's the whole gig πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

bool ice_nearest_proto_id (struct ice_parser_result *rslt , u16 offset ,
u8 *proto_id , u16 *proto_off );

πŸ¦‹ ARGUMENTS πŸ¦‹

okay so here's the cast of characters, and every single one of them matters πŸ‘‘

  • rslt β€” pointer to a parser result instance 🌈 this is the little bag of protocols you're rummaging through
  • offset β€” a min value for the protocol offset πŸ“ like a "no thanks, too small" threshold, yk?
  • proto_id β€” the protocol ID (output) 🎁 this is where the answer gets handed back to you
  • proto_off β€” the protocol offset (output) 🎁 and this is where the offset of the winner gets handed back

✨ DESCRIPTION ✨

From the protocols in rslt, find the nearest protocol that has offset larger than offset. πŸ”πŸ’«

that's it, that's the vibe β€” it scans the protocols sitting in rslt and picks out the nearest one whose offset is bigger than the offset you passed in. closest match wins, no cap πŸ§šβ€β™€οΈ


πŸ”₯ RETURN πŸ”₯

if true, the protocol's ID and offset πŸ‘‘ (yes, it literally returns the ID and the offset back out through the output params, slay πŸ’…)


🌈 SEE ALSO 🌈

the kernel file lives right here: ./drivers/net/ethernet/intel/ice/ice_parser.c πŸ“

and now the friend group πŸ’œ β€” every single one of these is linked, not skipping a single bestie:

ice_parser_sect_item_get(9), ice_parser_create_table(9), ice_imem_dump(9), ice_imem_bm_init(9), ice_imem_bkb_init(9), ice_imem_npkb_init(9), ice_imem_pgkb_init(9), ice_imem_alu_init(9), ice_imem_parse_item(9), ice_imem_table_get(9), ice_metainit_dump(9), ice_metainit_parse_item(9), ice_metainit_table_get(9), ice_bst_tcam_search(9), ice_pg_cam_dump(9), ice_pg_nm_cam_dump(9), ice_pg_cam_action_init(9), ice_pg_nm_cam_key_init(9), ice_pg_cam_key_init(9), ice_pg_cam_parse_item(9), ice_pg_sp_cam_parse_item(9), ice_pg_nm_cam_parse_item(9), ice_pg_nm_sp_cam_parse_item(9), ice_pg_cam_table_get(9), ice_pg_sp_cam_table_get(9), ice_pg_nm_cam_table_get(9), ice_pg_nm_sp_cam_table_get(9), ice_pg_cam_match(9), ice_pg_nm_cam_match(9), ice_bst_tcam_dump(9), ice_bst_alu_init(9), ice_bst_pgkb_init(9), ice_bst_npkb_init(9), ice_bst_parse_item(9), ice_bst_tcam_table_get(9), ice_bst_lbl_table_get(9), ice_bst_tcam_match(9), ice_ptype_mk_tcam_dump(9), ice_ptype_mk_tcam_table_get(9), ice_ptype_mk_tcam_match(9), ice_mk_grp_dump(9), ice_mk_grp_table_get(9), ice_proto_grp_dump(9), ice_proto_off_parse(9), ice_proto_grp_parse_item(9), ice_proto_grp_table_get(9), ice_flg_rd_dump(9), ice_flg_rd_parse_item(9), ice_flg_rd_table_get(9), ice_flg_redirect(9), ice_xlt_kb_dump(9), ice_kb_entry_init(9), ice_parse_kb_data(9), ice_xlt_kb_get_sw(9), ice_xlt_kb_get_acl(9), ice_xlt_kb_get_fd(9), ice_xlt_kb_get_rss(9), ice_xlt_kb_flag_get(9), ice_parser_create(9), ice_parser_destroy(9), ice_parser_run(9), ice_parser_result_dump(9), ice_parser_dvm_set(9), ice_parser_vxlan_tunnel_set(9), ice_parser_geneve_tunnel_set(9), ice_parser_ecpri_tunnel_set(9), ice_parser_profile_init(9), ice_parser_profile_dump(9)


🌸 and that's the whole page bestie, go read some protocols πŸ’–

okay so one last thing before you close the tab β€” the source lives in ./drivers/net/ethernet/intel/ice, it's dated October 2026, and the version tag is just the classic ice_nearest_proto_id(9) πŸŽ€ periodt, bye bestie πŸ¦‹πŸ’…βœ¨

πŸ“¦ where this page comes from