nla_put_u16(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… nla_put_u16 πŸ’…

okay so bestie, welcome to the <pink>Kernel API Manual</pink>, section 9 β€” today's main character is nla_put_u16, and honestly? she's a tiny little icon. one job, does it well, no drama. πŸŽ€


✨ NAME ✨

nla_put_u16 β€” add a u16 netlink attribute to a socket buffer πŸ¦‹

like, that's it. that's the whole vibe. you got a 16-bit unsigned number and you need it to live inside a netlink attribute? she's the girl for the job. periodt.


🌸 SYNOPSIS 🌸

int nla_put_u16 (struct sk_buff *skb , int attrtype , u16 value );

three things in, one int out. returning an int is giving "check me before you move on" energy, iykyk. 😌


πŸ’– ARGUMENTS πŸ’–

  • skb β€” the socket buffer you're adding the attribute to. this is the canvas, the blank page, the group chat you're about to send into. 🫢
  • attrtype β€” the attribute type. basically the label on the box so everyone knows what's inside. πŸ‘‘
  • value β€” the numeric value. your actual u16 payload, the reason we're all here. literal star of the show. ⭐

πŸ”₯ SEE ALSO πŸ”₯

bestie. buckle up. this list is long and we are NOT skipping a single one, because every single one of these is part of the netlink family and they all deserve their flowers. 🌈

Kernel file ./include/net/netlink.h 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), nla_find_nested(9), nla_parse_nested(9),
nla_parse_nested_deprecated(9), nla_put_u8(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_u64_64bit(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), 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), 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)
fr fr, don't sleep on the nla_put_* / nla_get_* mirror pairs β€” the getters are literally the readers for what the putters write. iykyk πŸ’…

🧚 sign-off 🧚

and that's the whole page, bestie! this one lives in <purple>./include/net</purple>, dated <cyan>October 2026</cyan>, and it's brought to you by the <pink>Kernel API Manual</pink> β€” manual page nla_put_u16(9). go forth and pack your u16 into a socket buffer. slay. πŸ’œβœ¨

πŸ“¦ where this page comes from