knet_link_get_status(3)
Get the status (and statistics) for a link.
Description
KNET_LINK_GET_STATUS
NAME
knet_link_get_status - Get the status (and statistics) for a link.
SYNOPSIS
#include <libknet.h>
int
knet_link_get_status(
knet_handle_t knet_h,
knet_node_id_t host_id,
uint8_t link_id,
struct knet_link_status *status,
size_t struct_size
);
DESCRIPTION
knet_link_get_status
knet_h - pointer to knet_handle_t
host_id - see knet_host_add(3)
link_id - see knet_link_set_config(3)
status - pointer to knet_link_status struct
struct_size - max size of knet_link_status - allows library to add fields without ABI change. Returned structure will be truncated to this length and .size member indicates the full size.
STRUCTURES
Status of a knet link as returned from knet_link_get_status()
struct
knet_link_status {
/*
* Size of the structure for ABI checking, set this to
* sizeof(knet_link_status) before calling
knet_link_get_status()
*/
size_t size;
char src_ipaddr[KNET_MAX_HOST_LEN]; /*
Local IP address as a string */
char src_port[KNET_MAX_PORT_LEN]; /* Local
IP port as a string */
char dst_ipaddr[KNET_MAX_HOST_LEN]; /*
Remote IP address as a string */
char dst_port[KNET_MAX_PORT_LEN]; /*
Remote IP port as a string */
uint8_t enabled; /* Link is configured and
admin enabled for traffic */
uint8_t connected; /* Link is connected
for data (local view) */
uint8_t dynconnected; /* Link has been
activated by remote dynip */
unsigned long long latency; /* average
latency computed by fix/exp */
struct timespec pong_last; /* Timestamp of
the past pong received */
unsigned int mtu; /* Currently detected
MTU on this link */
/*
* Contains the size of the IP protocol, knet headers and
crypto headers
* (if configured). This value is filled in ONLY after the
first PMTUd run on
* that given link, and can change if link configuration or
crypto configuration
* changes at runtime. WARNING: in general mtu +
proto_overhead might or might not
* match the output of ifconfig mtu due to crypto
requirements to pad packets to
* some specific boundaries.
*/
unsigned int proto_overhead;
struct stats; /* Link statistics */
};
RETURN VALUE
knet_link_get_status returns 0 on success -1 on error and errno is set.
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_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_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-2023 Red Hat, Inc. All rights reserved.