Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
KNET_LINK_GET_STATUS(3)   Kronosnet Programmer's Manual  KNET_LINK_GET_STATUS(3)

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.

kronosnet			   2023-07-10		 KNET_LINK_GET_STATUS(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=knet_link_get_status&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help