Man page - knet_send_sync(3)
Packages contains this manual
- knet_host_add(3)
- knet_log_get_subsystem_id(3)
- nozzle_set_up(3)
- knet_handle_get_transport_reconnect_interval(3)
- knet_host_remove(3)
- knet_link_set_enable(3)
- knet_handle_pmtud_setfreq(3)
- knet_link_get_link_list(3)
- knet_link_get_priority(3)
- knet_handle_crypto_set_config(3)
- knet_get_transport_name_by_id(3)
- knet_send_sync(3)
- nozzle_get_mac(3)
- knet_log_get_loglevel(3)
- nozzle_get_mtu(3)
- knet_host_get_id_by_host_name(3)
- knet_handle_get_datafd(3)
- nozzle_reset_mtu(3)
- knet_link_get_config(3)
- knet_handle_remove_datafd(3)
- knet_strtoaddr(3)
- knet_handle_new(3)
- knet_handle_new_ex(3)
- knet_handle_enable_filter(3)
- knet_handle_crypto_use_config(3)
- knet_handle_enable_access_lists(3)
- nozzle_set_down(3)
- knet_host_get_host_list(3)
- knet_link_get_status(3)
- nozzle_set_mac(3)
- knet_log_set_loglevel(3)
- knet_recv(3)
- knet_link_set_priority(3)
- nozzle_get_ips(3)
- nozzle_get_handle_by_name(3)
- knet_send(3)
- knet_handle_get_stats(3)
- knet_handle_setfwd(3)
- nozzle_open(3)
- knet_host_get_name_by_host_id(3)
- knet_link_get_enable(3)
- knet_handle_pmtud_set(3)
- knet_log_get_subsystem_name(3)
- knet_host_get_status(3)
- knet_handle_enable_pmtud_notify(3)
- knet_link_set_pong_count(3)
- knet_handle_set_transport_reconnect_interval(3)
- knet_link_get_ping_timers(3)
- nozzle_run_updown(3)
- knet_get_transport_id_by_name(3)
- nozzle_get_name_by_handle(3)
- knet_link_clear_acl(3)
- knet_handle_clear_stats(3)
- knet_host_set_name(3)
- knet_handle_crypto(3)
- nozzle_del_ip(3)
- knet_link_add_acl(3)
- knet_link_clear_config(3)
- knet_host_set_policy(3)
- knet_handle_add_datafd(3)
- knet_handle_pmtud_get(3)
- knet_handle_pmtud_getfreq(3)
- knet_link_set_ping_timers(3)
- knet_get_transport_list(3)
- knet_handle_enable_sock_notify(3)
- nozzle_set_mtu(3)
- knet_link_insert_acl(3)
- knet_host_get_policy(3)
- nozzle_reset_mac(3)
- knet_get_crypto_list(3)
- nozzle_add_ip(3)
- knet_log_get_loglevel_id(3)
- knet_handle_crypto_rx_clear_traffic(3)
- nozzle_close(3)
- knet_log_get_loglevel_name(3)
- knet_link_set_config(3)
- knet_link_get_pong_count(3)
- nozzle_get_fd(3)
- knet_handle_free(3)
- knet_handle_get_channel(3)
- knet_addrtostr(3)
- knet_handle_compress(3)
- knet_host_enable_status_change_notify(3)
- knet_link_rm_acl(3)
- knet_get_compress_list(3)
apt-get install libknet-doc
Manual
KNET_SEND_SYNC
NAMESYNOPSIS
DESCRIPTION
RETURN VALUE
SEE ALSO
COPYRIGHT
NAME
knet_send_sync - Synchronously send data to knet nodes.
SYNOPSIS
#include <libknet.h>
int
knet_send_sync
(
knet_handle_t
knet_h
,
const char *
buff
,
const size_t
buff_len
,
const int8_t
channel
);
DESCRIPTION
knet_send_sync
knet_h - pointer to knet_handle_t
buff - pointer to the buffer of data to send
buff_len - length of data to send
channel - data channel to use (see knet_handle_add_datafd(3))
All knet RX/TX operations are async for performance reasons. There are applications that might need a sync version of data transmission and receive errors in case of failure to deliver to another host. knet_send_sync bypasses the whole TX async layer and delivers data directly to the link layer, and returns errors accordingly. knet_send_sync sends only one packet to one host at a time. It does NOT support multiple destinations or multicast packets. Decision is still based on dst_host_filter_fn.
RETURN VALUE
knet_send_sync returns 0 on success and -1 on error. In addition to normal sendmmsg errors, knet_send_sync can fail due to:
ECANCELED - data forward is disabled
EFAULT - dst_host_filter fatal error
EINVAL - dst_host_filter did not provide dst_host_ids_entries on unicast pckts
E2BIG - dst_host_filter did return more than one dst_host_ids_entries on unicast pckts
ENOMSG - received unknown message type
EHOSTDOWN - unicast pckt cannot be delivered because dest host is not connected yet
ECHILD - crypto failed
EAGAIN - sendmmsg was unable to send all messages and there was no progress during retry
ENETDOWN - a packet filter was not installed (necessary for knet_send_sync, but not knet_send)
SEE ALSO
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_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_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_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_link_set_config (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_link_insert_acl (3)
COPYRIGHT
Copyright (C) 2010-2025 Red Hat, Inc. All rights reserved.