libnl 3.5.0

neightbl.h
1 /*
2 * netlink/route/neightbl.h Neighbour Tables
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation version 2.1
7 * of the License.
8 *
9 * Copyright (c) 2003-2008 Thomas Graf <tgraf@suug.ch>
10 */
11
12 #ifndef NETLINK_NEIGHTBL_H_
13 #define NETLINK_NEIGHTBL_H_
14
15 #include <netlink/netlink.h>
16 #include <netlink/cache.h>
17 #include <netlink/addr.h>
18
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22
23 struct rtnl_neightbl;
24
25 extern struct rtnl_neightbl *rtnl_neightbl_alloc(void);
26 extern void rtnl_neightbl_put(struct rtnl_neightbl *);
27 extern void rtnl_neightbl_free(struct rtnl_neightbl *);
28 extern int rtnl_neightbl_alloc_cache(struct nl_sock *, struct nl_cache **);
29 extern struct rtnl_neightbl *rtnl_neightbl_get(struct nl_cache *,
30 const char *, int);
31 extern void rtnl_neightbl_dump(struct rtnl_neightbl *, FILE *,
32 struct nl_dump_params *);
33
34 extern int rtnl_neightbl_build_change_request(struct rtnl_neightbl *,
35 struct rtnl_neightbl *,
36 struct nl_msg **);
37 extern int rtnl_neightbl_change(struct nl_sock *, struct rtnl_neightbl *,
38 struct rtnl_neightbl *);
39
40 extern void rtnl_neightbl_set_family(struct rtnl_neightbl *, int);
41 extern void rtnl_neightbl_set_gc_tresh1(struct rtnl_neightbl *, int);
42 extern void rtnl_neightbl_set_gc_tresh2(struct rtnl_neightbl *, int);
43 extern void rtnl_neightbl_set_gc_tresh3(struct rtnl_neightbl *, int);
44 extern void rtnl_neightbl_set_gc_interval(struct rtnl_neightbl *, uint64_t);
45 extern void rtnl_neightbl_set_name(struct rtnl_neightbl *, const char *);
46 extern void rtnl_neightbl_set_dev(struct rtnl_neightbl *, int);
47 extern void rtnl_neightbl_set_queue_len(struct rtnl_neightbl *, int);
48 extern void rtnl_neightbl_set_proxy_queue_len(struct rtnl_neightbl *, int);
49 extern void rtnl_neightbl_set_app_probes(struct rtnl_neightbl *, int);
50 extern void rtnl_neightbl_set_ucast_probes(struct rtnl_neightbl *, int);
51 extern void rtnl_neightbl_set_mcast_probes(struct rtnl_neightbl *, int);
52 extern void rtnl_neightbl_set_base_reachable_time(struct rtnl_neightbl *,
53 uint64_t);
54 extern void rtnl_neightbl_set_retrans_time(struct rtnl_neightbl *, uint64_t);
55 extern void rtnl_neightbl_set_gc_stale_time(struct rtnl_neightbl *, uint64_t);
56 extern void rtnl_neightbl_set_delay_probe_time(struct rtnl_neightbl *,
57 uint64_t);
58 extern void rtnl_neightbl_set_anycast_delay(struct rtnl_neightbl *, uint64_t);
59 extern void rtnl_neightbl_set_proxy_delay(struct rtnl_neightbl *, uint64_t);
60 extern void rtnl_neightbl_set_locktime(struct rtnl_neightbl *, uint64_t);
61
62 #ifdef __cplusplus
63 }
64 #endif
65
66 #endif
rtnl_neightbl_alloc_cache
int rtnl_neightbl_alloc_cache(struct nl_sock *, struct nl_cache **)
Build a neighbour table cache including all neighbour tables currently configured in the kernel.
Definition: neightbl.c:400
rtnl_neightbl_build_change_request
int rtnl_neightbl_build_change_request(struct rtnl_neightbl *, struct rtnl_neightbl *, struct nl_msg **)
Builds a netlink change request message to change neighbour table attributes.
Definition: neightbl.c:461
rtnl_neightbl_set_locktime
void rtnl_neightbl_set_locktime(struct rtnl_neightbl *, uint64_t)
Set the locktime of a neighbour table to the specified value.
Definition: neightbl.c:783
rtnl_neightbl_set_retrans_time
void rtnl_neightbl_set_retrans_time(struct rtnl_neightbl *, uint64_t)
Set the retransmit time of a neighbour table to the specified value.
Definition: neightbl.c:723
rtnl_neightbl_set_app_probes
void rtnl_neightbl_set_app_probes(struct rtnl_neightbl *, int)
Set the number of application probes of a neighbour table to the specified value.
Definition: neightbl.c:674
rtnl_neightbl_get
struct rtnl_neightbl * rtnl_neightbl_get(struct nl_cache *, const char *, int)
Lookup neighbour table by name and optional interface index.
Definition: neightbl.c:418
rtnl_neightbl_set_anycast_delay
void rtnl_neightbl_set_anycast_delay(struct rtnl_neightbl *, uint64_t)
Set the anycast delay of a neighbour table to the specified value.
Definition: neightbl.c:759
rtnl_neightbl_change
int rtnl_neightbl_change(struct nl_sock *, struct rtnl_neightbl *, struct rtnl_neightbl *)
Change neighbour table attributes.
Definition: neightbl.c:578
rtnl_neightbl_set_queue_len
void rtnl_neightbl_set_queue_len(struct rtnl_neightbl *, int)
Set the queue length for pending requests of a neighbour table to the specified value.
Definition: neightbl.c:650
rtnl_neightbl_set_delay_probe_time
void rtnl_neightbl_set_delay_probe_time(struct rtnl_neightbl *, uint64_t)
Set the first probe delay time of a neighbour table to the specified value.
Definition: neightbl.c:747
rtnl_neightbl_set_gc_stale_time
void rtnl_neightbl_set_gc_stale_time(struct rtnl_neightbl *, uint64_t)
Set the gc stale time of a neighbour table to the specified value.
Definition: neightbl.c:735
rtnl_neightbl_set_proxy_delay
void rtnl_neightbl_set_proxy_delay(struct rtnl_neightbl *, uint64_t)
Set the proxy delay of a neighbour table to the specified value.
Definition: neightbl.c:771
rtnl_neightbl_set_proxy_queue_len
void rtnl_neightbl_set_proxy_queue_len(struct rtnl_neightbl *, int)
Set the queue length for delay proxy arp requests of a neighbour table to the specified value.
Definition: neightbl.c:662
rtnl_neightbl_set_ucast_probes
void rtnl_neightbl_set_ucast_probes(struct rtnl_neightbl *, int)
Set the number of unicast probes of a neighbour table to the specified value.
Definition: neightbl.c:686
nl_dump_params
Dumping parameters.
Definition: types.h:33
rtnl_neightbl_set_base_reachable_time
void rtnl_neightbl_set_base_reachable_time(struct rtnl_neightbl *, uint64_t)
Set the base reachable time of a neighbour table to the specified value.
Definition: neightbl.c:710
rtnl_neightbl_set_mcast_probes
void rtnl_neightbl_set_mcast_probes(struct rtnl_neightbl *, int)
Set the number of multicast probes of a neighbour table to the specified value.
Definition: neightbl.c:698