nla_put_u64_64bit(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– nla_put_u64_64bit(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual β€” today we're deep in netlink land and the function on the throne is nla_put_u64_64bit. she's giving "small function, very specific job, zero drama" and honestly? we stan. πŸŽ€


✨ NAME ✨

nla_put_u64_64bit β€” add a u64 netlink attribute to a skb and align it 🫢

like fr fr that's the whole personality: you hand her a 64-bit value, she tucks it into the skb as an attribute, and then she makes sure the alignment is cute. iconic behaviour, no notes. πŸ’…


🌸 SYNOPSIS 🌸

int nla_put_u64_64bit (struct sk_buff *skb , int attrtype , u64 value ,
                      int padattr );

she returns an int, she takes four things, that's the vibe check and she passed. 😌


πŸ’… ARGUMENTS πŸ’…

  • skb β€” the socket buffer you're adding the attribute to. this is the canvas, the moment, the whole stage. πŸ¦‹
  • attrtype β€” the attribute type. literally what kind of attribute this is. iykyk. 🏷️
  • value β€” the numeric value. she's a u64, she's 64 bits of pure main character energy. πŸ”₯
  • padattr β€” the attribute type used for the padding. yes bestie, padding has a type too, and this is it. πŸŽ€
ngl, four arguments is such a chill lineup β€” no traps, no surprises, just tell her the skb, the type, the value, and what to call the padding. periodt. πŸ’œ

πŸ¦‹ SEE ALSO πŸ¦‹

okay so this is the part where the manpage goes absolutely feral with the cross-references β€” and we're keeping every single one, bestie, no skipping, no "lol close enough". πŸ’€

Kernel file ./include/net/netlink.h, plus: struct nla_policy(9), struct nl_info(9), enum netlink_validation(9), nlmsg_msg_size(9), nlmsg_total_size(9), nlmsg_padlen(9), nlmsg_data(9), nlmsg_len(9), nlmsg_payload(9), nlmsg_attrdata(9), nlmsg_attrlen(9), nlmsg_ok(9), nlmsg_next(9), nla_parse(9), nla_parse_deprecated(9), nla_parse_deprecated_strict(9), __nlmsg_parse(9), nlmsg_parse(9), nlmsg_parse_deprecated(9), nlmsg_parse_deprecated_strict(9), nlmsg_find_attr(9), nla_validate_deprecated(9), nla_validate(9), nlmsg_validate_deprecated(9), nlmsg_report(9), nlmsg_seq(9), nlmsg_for_each_attr(9), nlmsg_for_each_attr_type(9), nlmsg_put(9), nlmsg_append(9), nlmsg_put_answer(9), nlmsg_new(9), nlmsg_new_large(9), nlmsg_end(9), nlmsg_get_pos(9), nlmsg_trim(9), nlmsg_cancel(9), nlmsg_free(9), nlmsg_consume(9), nlmsg_multicast_filtered(9), nlmsg_multicast(9), nlmsg_unicast(9), nlmsg_for_each_msg(9), nl_dump_check_consistent(9), nla_attr_size(9), nla_total_size(9), nla_padlen(9), nla_type(9), nla_data(9), nla_len(9), nla_ok(9), nla_next(9) 🌈

and the nesting crew: nla_find_nested(9), nla_parse_nested(9), nla_parse_nested_deprecated(9) 🧚

the whole put family, because obviously: nla_put_u8(9), nla_put_u16(9), nla_put_be16(9), nla_put_net16(9), nla_put_le16(9), nla_put_u32(9), nla_put_uint(9), nla_put_be32(9), nla_put_net32(9), nla_put_le32(9), nla_put_be64(9), nla_put_net64(9), nla_put_le64(9), nla_put_s8(9), nla_put_s16(9), nla_put_s32(9), nla_put_s64(9), nla_put_sint(9), nla_put_string(9), nla_put_flag(9), nla_put_msecs(9), nla_put_in_addr(9), nla_put_in6_addr(9), nla_put_bitfield32(9) πŸ’–

and the get girlies, all of them, yes even the _default ones: nla_get_u32(9), nla_get_u32_default(9), nla_get_be32(9), nla_get_be32_default(9), nla_get_le32(9), nla_get_le32_default(9), nla_get_u16(9), nla_get_u16_default(9), nla_get_be16(9), nla_get_be16_default(9), nla_get_le16(9), nla_get_le16_default(9), nla_get_u8(9), nla_get_u8_default(9), nla_get_u64(9), nla_get_u64_default(9), nla_get_uint(9), nla_get_uint_default(9), nla_get_be64(9), nla_get_be64_default(9), nla_get_le64(9), nla_get_le64_default(9), nla_get_s32(9), nla_get_s32_default(9), nla_get_s16(9), nla_get_s16_default(9), nla_get_s8(9), nla_get_s8_default(9), nla_get_s64(9), nla_get_s64_default(9), nla_get_sint(9), nla_get_sint_default(9), nla_get_flag(9), nla_get_msecs(9), nla_get_msecs_default(9), nla_get_in_addr(9), nla_get_in_addr_default(9), nla_get_in6_addr(9), nla_get_bitfield32(9) 🌸

and the rest of the squad, because she refuses to leave anyone out: nla_memdup(9), nla_nest_start_noflag(9), nla_nest_start(9), nla_nest_end(9), nla_nest_end_safe(9), nla_nest_cancel(9), nla_put_empty_nest(9), __nla_validate_nested(9), nla_need_padding_for_64bit(9), nla_align_64bit(9), nla_total_size_64bit(9), nla_for_each_attr(9), nla_for_each_attr_type(9), nla_for_each_nested(9), nla_for_each_nested_type(9), nla_is_last(9) πŸ‘‘

like, that's the whole netlink friend group in one SEE ALSO. screenshot it, study it, it's giving syllabus. 😭

that's the whole page bestie β€” go forth and align your 64-bit attributes 🫢✨

🌸 sign-off from ./include/net, dated October 2026 β€” mwah, catch you in the next manpage πŸ’–πŸŽ€

πŸ“¦ where this page comes from