rcvbuf_limit(9)
π rcvbuf_limit(9) β Kernel API Manual π
okay so bestie, we're diving into rcvbuf_limit from the Kernel API Manual and honestly? it's a little cutie. it's the function that tells you the proper overload limit of a socket receive queue. yeah. that's the whole vibe. let's get into it π
β¨ NAME β¨
rcvbuf_limit β get proper overload limit of socket receive queue πΈ
like, it's giving "how much can this queue hold before things get messy" energy, and we're obsessed.
π¦ SYNOPSIS π¦
unsigned int rcvbuf_limit (struct sock *sk , struct sk_buff *skb );
yeah that's the whole signature, no cap. returns an unsigned int, takes a struct sock *sk and a struct sk_buff *skb. periodt. π
π ARGUMENTS π
skβ socket. that's your socket bestie, the whole point of the operation πskbβ message. the actual message we're asking about β¨
two arguments, both iconic, both necessary. main character energy from both of them honestly.
π₯ DESCRIPTION π₯
okay so here's where it gets juicy. the limit depends on what kind of messages you're dealing with, and the function is very much like "it depends" (which is the most Gen Z answer possible but go off).
for connection oriented messages, irrespective of importance β like, doesn't matter how important your message thinks it is β the default queue limit is 2 MB. that's it. that's the number. no negotiating π«Ά
for connectionless messages, though? the queue limits are based on message importance, and it scales like this:
TIPC_LOW_IMPORTANCEβ 2 MBTIPC_MEDIUM_IMPORTANCEβ 4 MBTIPC_HIGH_IMPORTANCEβ 8 MBTIPC_CRITICAL_IMPORTANCEβ 16 MB
the way that importance literally doubles the buffer each time?? math ate, honestly. lowkey a glow-up ladder. πβ¨
ngl bestie, the importance tiers are not vibes-based, they're the actual TIPC_*_IMPORTANCE constants β so use them exactly as written, no renaming, no "fixing" π
π RETURN π
returns the overload limit according to corresponding message importance. so whatever tier your message is in, that's the number you get back. simple, clean, iconic. π
π SEE ALSO π
okay this list is LONG and it's giving "everyone showed up to the party" energy, so buckle up bestie, we're naming every single one π
- Kernel file
./net/tipc/socket.c struct tipc_sock(9)tsk_advance_rx_queue(9)tsk_rej_rx_queue(9)tipc_sk_create(9)tipc_release(9)__tipc_bind(9)tipc_getname(9)tipc_poll(9)tipc_sendmcast(9)tipc_send_group_msg(9)tipc_send_group_unicast(9)tipc_send_group_anycast(9)tipc_send_group_bcast(9)tipc_send_group_mcast(9)tipc_sk_mcast_rcv(9)tipc_sk_conn_proto_rcv(9)tipc_sendmsg(9)tipc_sendstream(9)tipc_send_packet(9)tipc_sk_set_orig_addr(9)tipc_sk_anc_data_recv(9)tipc_recvmsg(9)tipc_recvstream(9)tipc_write_space(9)tipc_data_ready(9)tipc_sk_filter_connect(9)tipc_sk_filter_rcv(9)tipc_sk_backlog_rcv(9)tipc_sk_enqueue(9)tipc_sk_rcv(9)tipc_connect(9)tipc_listen(9)tipc_accept(9)tipc_shutdown(9)tipc_setsockopt(9)tipc_getsockopt(9)tipc_socket_init(9)tipc_socket_stop(9)tipc_sk_filtering(9)tipc_sk_overlimit1(9)tipc_sk_overlimit2(9)tipc_sk_dump(9)
like... the whole TIPC friend group came through. we love a supportive cast π«Άπ
and that's the page, bestie!! this one came from ./net/tipc and it's dated October 2026 β so like, future vibes, we stan. go forth and check your receive queue limits responsibly β¨π
π
π¦ 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