nla_put_u16(9)
π 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 actualu16payload, 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 thenla_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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms