.\" Automatically generated man page, do not edit .TH KNET_LINK_GET_STATUS 3 2023-09-27 "kronosnet" "Kronosnet Programmer's Manual" .SH NAME knet_link_get_status \- Get the status (and statistics) for a link. .SH SYNOPSIS .nf .B #include .sp \fBint knet_link_get_status\fP( \fBknet_handle_t \fP\fIknet_h\fP, \fBknet_node_id_t \fP\fIhost_id\fP, \fBuint8_t \fP\fIlink_id\fP, \fBstruct knet_link_status *\fP\fIstatus\fP, \fBsize_t \fP\fIstruct_size\fP ); .fi .SH DESCRIPTION .PP knet_link_get_status .PP knet_h - pointer to knet_handle_t .PP host_id - see knet_host_add(3) .PP link_id - see knet_link_set_config(3) .PP status - pointer to knet_link_status struct .PP 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. .SH STRUCTURES .nf Status of a knet link as returned from knet_link_get_status() \fB struct knet_link_status { \fR \fB \fP /* * Size of the structure for ABI checking, set this to * sizeof(knet_link_status) before calling knet_link_get_status() */ \fBsize_t \fP\fIsize\fP; \fB \fBchar \fP\fIsrc_ipaddr[KNET_MAX_HOST_LEN]\fP;\fR /* Local IP address as a string */ \fB \fBchar \fP\fIsrc_port[KNET_MAX_PORT_LEN]\fP;\fR /* Local IP port as a string */ \fB \fBchar \fP\fIdst_ipaddr[KNET_MAX_HOST_LEN]\fP;\fR /* Remote IP address as a string */ \fB \fBchar \fP\fIdst_port[KNET_MAX_PORT_LEN]\fP;\fR /* Remote IP port as a string */ \fB \fBuint8_t \fP\fIenabled\fP;\fR /* Link is configured and admin enabled for traffic */ \fB \fBuint8_t \fP\fIconnected\fP;\fR /* Link is connected for data (local view) */ \fB \fBuint8_t \fP\fIdynconnected\fP;\fR /* Link has been activated by remote dynip */ \fB \fBunsigned long long \fP\fIlatency\fP;\fR /* average latency computed by fix/exp */ \fB \fBstruct timespec \fP\fIpong_last\fP;\fR /* Timestamp of the past pong received */ \fB \fBunsigned int \fP\fImtu\fP;\fR /* Currently detected MTU on this link */ \fB \fP /* * 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. */ \fBunsigned int \fP\fIproto_overhead\fP; \fB \fBstruct \fP\fIstats\fP;\fR /* Link statistics */ }; \fP .fi .PP .RE .SH RETURN VALUE .PP knet_link_get_status returns 0 on success -1 on error and errno is set. .PP .SH SEE ALSO .PP .nh .ad l \fIknet_handle_remove_datafd\fR(3), \fIknet_handle_get_stats\fR(3), \fIknet_host_add\fR(3), \fIknet_handle_pmtud_setfreq\fR(3), \fIknet_handle_pmtud_get\fR(3), \fIknet_handle_crypto_use_config\fR(3), \fIknet_host_get_id_by_host_name\fR(3), \fIknet_host_get_status\fR(3), \fIknet_link_add_acl\fR(3), \fIknet_link_get_pong_count\fR(3), \fIknet_link_get_priority\fR(3), \fIknet_handle_free\fR(3), \fIknet_handle_enable_sock_notify\fR(3), \fIknet_handle_get_datafd\fR(3), \fIknet_recv\fR(3), \fIknet_link_get_ping_timers\fR(3), \fIknet_log_get_subsystem_id\fR(3), \fIknet_host_remove\fR(3), \fIknet_host_enable_status_change_notify\fR(3), \fIknet_strtoaddr\fR(3), \fIknet_link_rm_acl\fR(3), \fIknet_send\fR(3), \fIknet_handle_enable_pmtud_notify\fR(3), \fIknet_handle_get_transport_reconnect_interval\fR(3), \fIknet_link_get_enable\fR(3), \fIknet_link_set_priority\fR(3), \fIknet_log_set_loglevel\fR(3), \fIknet_handle_get_channel\fR(3), \fIknet_link_get_config\fR(3), \fIknet_link_get_link_list\fR(3), \fIknet_get_transport_list\fR(3), \fIknet_get_transport_id_by_name\fR(3), \fIknet_log_get_loglevel_id\fR(3), \fIknet_handle_new_ex\fR(3), \fIknet_host_set_name\fR(3), \fIknet_addrtostr\fR(3), \fIknet_handle_setfwd\fR(3), \fIknet_get_compress_list\fR(3), \fIknet_host_set_policy\fR(3), \fIknet_get_transport_name_by_id\fR(3), \fIknet_handle_enable_filter\fR(3), \fIknet_handle_crypto_rx_clear_traffic\fR(3), \fIknet_handle_compress\fR(3), \fIknet_handle_add_datafd\fR(3), \fIknet_send_sync\fR(3), \fIknet_log_get_loglevel_name\fR(3), \fIknet_handle_enable_access_lists\fR(3), \fIknet_host_get_host_list\fR(3), \fIknet_host_get_policy\fR(3), \fIknet_link_set_enable\fR(3), \fIknet_link_set_pong_count\fR(3), \fIknet_log_get_subsystem_name\fR(3), \fIknet_host_get_name_by_host_id\fR(3), \fIknet_link_clear_config\fR(3), \fIknet_log_get_loglevel\fR(3), \fIknet_handle_new\fR(3), \fIknet_handle_pmtud_getfreq\fR(3), \fIknet_handle_pmtud_set\fR(3), \fIknet_handle_clear_stats\fR(3), \fIknet_link_set_config\fR(3), \fIknet_handle_crypto_set_config\fR(3), \fIknet_handle_crypto\fR(3), \fIknet_get_crypto_list\fR(3), \fIknet_handle_set_transport_reconnect_interval\fR(3), \fIknet_link_clear_acl\fR(3), \fIknet_link_set_ping_timers\fR(3), \fIknet_link_insert_acl\fR(3) .ad .hy .SH "COPYRIGHT" .PP Copyright (C) 2010-2023 Red Hat, Inc. All rights reserved.