1knet_link_add_acl(3) Kronosnet Programmer's Manual knet_link_add_acl(3)
2
3
4
6 knet_link_add_acl - Add access list entry to an open link.
7
9 #include <libknet.h>
10
11 int knet_link_add_acl(
12 knet_handle_t knet_h,
13 knet_node_id_t host_id,
14 uint8_t link_id,
15 struct sockaddr_storage *ss1,
16 struct sockaddr_storage *ss2,
17 check_type_t type,
18 check_acceptreject_t acceptreject
19 );
20
22 knet_link_add_acl
23
24 knet_h - pointer to knet_handle_t
25
26 host_id - see knet_host_add(3)
27
28 link_id - see knet_link_set_config(3)
29
30 ss1 / ss2 / type / acceptreject - see typedef definitions for details
31
32 IMPORTANT: the order in which access lists are added is critical and it
33 is left to the user to add them in the right order. knet will not
34 attempt to logically sort them.
35
36 For example: 1 - accept from 10.0.0.0/8 2 - reject from 10.0.0.1/32
37
38 is not the same as:
39
40 1 - reject from 10.0.0.1/32 2 - accept from 10.0.0.0/8
41
42 In the first example, rule number 2 will never match because packets
43 from 10.0.0.1 will be accepted by rule number 1.
44
46 enum check_type_t {
47 CHECK_TYPE_ADDRESS;
48 CHECK_TYPE_MASK;
49 CHECK_TYPE_RANGE;
50 };
51 enum check_acceptreject_t {
52 CHECK_ACCEPT;
53 CHECK_REJECT;
54 };
55
57 knet_link_add_acl returns 0 on success. -1 on error and errno is set.
58
60 knet_handle_remove_datafd(3), knet_handle_get_stats(3),
61 knet_host_add(3), knet_handle_pmtud_setfreq(3),
62 knet_handle_pmtud_get(3), knet_host_get_id_by_host_name(3),
63 knet_host_get_status(3), knet_link_get_pong_count(3),
64 knet_link_get_priority(3), knet_handle_free(3),
65 knet_handle_enable_sock_notify(3), knet_handle_get_datafd(3),
66 knet_recv(3), knet_link_get_ping_timers(3),
67 knet_log_get_subsystem_id(3), knet_host_remove(3),
68 knet_host_enable_status_change_notify(3), knet_strtoaddr(3),
69 knet_link_rm_acl(3), knet_send(3), knet_handle_enable_pmtud_notify(3),
70 knet_handle_get_transport_reconnect_interval(3),
71 knet_link_get_enable(3), knet_link_set_priority(3),
72 knet_log_set_loglevel(3), knet_handle_get_channel(3),
73 knet_link_get_config(3), knet_link_get_link_list(3),
74 knet_get_transport_list(3), knet_get_transport_id_by_name(3),
75 knet_log_get_loglevel_id(3), knet_handle_new_ex(3),
76 knet_host_set_name(3), knet_addrtostr(3), knet_handle_setfwd(3),
77 knet_get_compress_list(3), knet_host_set_policy(3),
78 knet_get_transport_name_by_id(3), knet_handle_enable_filter(3),
79 knet_handle_compress(3), knet_link_get_status(3),
80 knet_handle_add_datafd(3), knet_send_sync(3),
81 knet_log_get_loglevel_name(3), knet_handle_enable_access_lists(3),
82 knet_host_get_host_list(3), knet_host_get_policy(3),
83 knet_link_set_enable(3), knet_link_set_pong_count(3),
84 knet_log_get_subsystem_name(3), knet_host_get_name_by_host_id(3),
85 knet_link_clear_config(3), knet_log_get_loglevel(3),
86 knet_handle_new(3), knet_handle_pmtud_getfreq(3),
87 knet_handle_pmtud_set(3), knet_handle_clear_stats(3),
88 knet_link_set_config(3), knet_handle_crypto(3),
89 knet_get_crypto_list(3),
90 knet_handle_set_transport_reconnect_interval(3),
91 knet_link_clear_acl(3), knet_link_set_ping_timers(3),
92 knet_link_insert_acl(3)
93
95 Copyright (C) 2010-2019 Red Hat, Inc. All rights reserved.
96
97
98
99kronosnet 2019-10-16 knet_link_add_acl(3)