KNET_LINK_SET_CONFIG(3)

okay so this is the Kronosnet Programmer's Manual page for knet_link_set_config, and no cap, it's the one that configures the link to a host. yes THAT link. the whole point of the thing. let's go πŸ¦‹


✨ NAME ✨

knet_link_set_config β€” configure the link to a host.

like, you're setting up how you're gonna talk to somebody. it's giving matchmaking but for packets πŸ’…


✨ SYNOPSIS ✨

#include <libknet.h>

int knet_link_set_config(
    knet_handle_t              knet_h,
    knet_node_id_t             host_id,
    uint8_t                    link_id,
    uint8_t                    transport,
    struct sockaddr_storage   *src_addr,
    struct sockaddr_storage   *dst_addr,
    uint64_t                   flags
);

seven arguments. she's got a lot going on but she's iconic for it πŸŽ€


✨ DESCRIPTION ✨

knet_link_set_config

here's the breakdown of every single thing you're handing her, one by one, no skips:

  • knet_h β€” pointer to knet_handle_t. that's your handle, your main character, the whole vibe container 🌸
  • host_id β€” see knet_host_add(3). it's the host you're linking to, duh
  • link_id β€” see knet_link_set_config(3). yes bestie, the page is citing itself. she's self-referential and we love that for her πŸ’€
  • transport β€” one of the KNET_TRANSPORT_xxx constants. pick your fighter
  • src_addr β€” a sockaddr_storage that can be either IPv4 or IPv6. flexible queen
  • dst_addr β€” a sockaddr_storage that can be either IPv4 or IPv6. and β€” plot twist β€” this one can be null if we don't know the incoming IP address/port, and in that case the link will remain quiet till the node on the other end will initiate a connection. so it just sits there, patiently, waiting to be texted back πŸ₯Ί
  • flags β€” KNET_LINK_FLAG_*. flags!! you know the drill ✨

✨ RETURN VALUE ✨

knet_link_set_config returns 0 on success, -1 on error, and errno is set. so like, check errno, bestie, don't just assume 😭


✨ SEE ALSO ✨

okay this list is genuinely enormous and I'm obsessed. every single one, in order, periodt:

knet_handle_remove_datafd(3), knet_handle_get_stats(3), knet_host_add(3), knet_handle_pmtud_setfreq(3), knet_handle_pmtud_get(3), knet_handle_crypto_use_config(3), knet_host_get_id_by_host_name(3), knet_host_get_status(3), knet_link_add_acl(3), knet_link_get_pong_count(3), knet_link_get_priority(3), knet_handle_free(3), knet_handle_enable_sock_notify(3), knet_handle_get_datafd(3), knet_recv(3), knet_link_get_ping_timers(3), knet_log_get_subsystem_id(3), knet_host_remove(3), knet_host_enable_status_change_notify(3), knet_strtoaddr(3), knet_link_rm_acl(3), knet_send(3), knet_handle_enable_pmtud_notify(3), knet_get_crypto_cipher_list(3), knet_handle_get_transport_reconnect_interval(3), knet_link_get_enable(3), knet_link_set_priority(3), knet_log_set_loglevel(3), knet_handle_get_channel(3), knet_link_get_config(3), knet_link_get_link_list(3), knet_get_crypto_hash_list(3), knet_get_transport_list(3), knet_get_transport_id_by_name(3), knet_log_get_loglevel_id(3), knet_handle_new_ex(3), knet_host_set_name(3), knet_addrtostr(3), knet_handle_setfwd(3), knet_get_compress_list(3), knet_host_set_policy(3), knet_get_transport_name_by_id(3), knet_handle_enable_filter(3), knet_handle_crypto_rx_clear_traffic(3), knet_handle_compress(3), knet_link_get_status(3), knet_handle_add_datafd(3), knet_send_sync(3), knet_log_get_loglevel_name(3), knet_handle_enable_access_lists(3), knet_host_get_host_list(3), knet_host_get_policy(3), knet_link_set_enable(3), knet_link_set_pong_count(3), knet_log_get_subsystem_name(3), knet_host_get_name_by_host_id(3), knet_link_clear_config(3), knet_log_get_loglevel(3), knet_handle_new(3), knet_handle_pmtud_getfreq(3), knet_handle_pmtud_set(3), knet_handle_clear_stats(3), knet_handle_crypto_set_config(3), knet_handle_crypto(3), knet_get_crypto_list(3), knet_handle_set_transport_reconnect_interval(3), knet_link_clear_acl(3), knet_link_set_ping_timers(3), knet_handle_setprio_dscp(3), knet_link_insert_acl(3)

like... that's the whole friend group. go read all of them, iykyk πŸ’œ


Copyright (C) 2010-2026 Red Hat, Inc. All rights reserved. 🫢


kronosnet Β· page dated 2026-07-20 Β· KNET_LINK_SET_CONFIG(3) β€” that's the tea, bestie, go configure some links and slay βœ¨πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from