GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
KNET_LINK_GET_STATUS(3) Kronosnet Programmer's Manual KNET_LINK_GET_STATUS(3)

knet_link_get_status - Get the status (and statistics) for a link.

#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
);

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.

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 */
};

knet_link_get_status returns 0 on success -1 on error and errno is set.

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 (C) 2010-2021 Red Hat, Inc. All rights reserved.
2021-11-15 kronosnet

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.