libnl  3.6.0
neightbl.h
1 /* SPDX-License-Identifier: LGPL-2.1-only */
2 /*
3  * Copyright (c) 2003-2008 Thomas Graf <tgraf@suug.ch>
4  */
5 
6 #ifndef NETLINK_NEIGHTBL_H_
7 #define NETLINK_NEIGHTBL_H_
8 
9 #include <netlink/netlink.h>
10 #include <netlink/cache.h>
11 #include <netlink/addr.h>
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 struct rtnl_neightbl;
18 
19 extern struct rtnl_neightbl *rtnl_neightbl_alloc(void);
20 extern void rtnl_neightbl_put(struct rtnl_neightbl *);
21 extern void rtnl_neightbl_free(struct rtnl_neightbl *);
22 extern int rtnl_neightbl_alloc_cache(struct nl_sock *, struct nl_cache **);
23 extern struct rtnl_neightbl *rtnl_neightbl_get(struct nl_cache *,
24  const char *, int);
25 extern void rtnl_neightbl_dump(struct rtnl_neightbl *, FILE *,
26  struct nl_dump_params *);
27 
28 extern int rtnl_neightbl_build_change_request(struct rtnl_neightbl *,
29  struct rtnl_neightbl *,
30  struct nl_msg **);
31 extern int rtnl_neightbl_change(struct nl_sock *, struct rtnl_neightbl *,
32  struct rtnl_neightbl *);
33 
34 extern void rtnl_neightbl_set_family(struct rtnl_neightbl *, int);
35 extern void rtnl_neightbl_set_gc_tresh1(struct rtnl_neightbl *, int);
36 extern void rtnl_neightbl_set_gc_tresh2(struct rtnl_neightbl *, int);
37 extern void rtnl_neightbl_set_gc_tresh3(struct rtnl_neightbl *, int);
38 extern void rtnl_neightbl_set_gc_interval(struct rtnl_neightbl *, uint64_t);
39 extern void rtnl_neightbl_set_name(struct rtnl_neightbl *, const char *);
40 extern void rtnl_neightbl_set_dev(struct rtnl_neightbl *, int);
41 extern void rtnl_neightbl_set_queue_len(struct rtnl_neightbl *, int);
42 extern void rtnl_neightbl_set_proxy_queue_len(struct rtnl_neightbl *, int);
43 extern void rtnl_neightbl_set_app_probes(struct rtnl_neightbl *, int);
44 extern void rtnl_neightbl_set_ucast_probes(struct rtnl_neightbl *, int);
45 extern void rtnl_neightbl_set_mcast_probes(struct rtnl_neightbl *, int);
46 extern void rtnl_neightbl_set_base_reachable_time(struct rtnl_neightbl *,
47  uint64_t);
48 extern void rtnl_neightbl_set_retrans_time(struct rtnl_neightbl *, uint64_t);
49 extern void rtnl_neightbl_set_gc_stale_time(struct rtnl_neightbl *, uint64_t);
50 extern void rtnl_neightbl_set_delay_probe_time(struct rtnl_neightbl *,
51  uint64_t);
52 extern void rtnl_neightbl_set_anycast_delay(struct rtnl_neightbl *, uint64_t);
53 extern void rtnl_neightbl_set_proxy_delay(struct rtnl_neightbl *, uint64_t);
54 extern void rtnl_neightbl_set_locktime(struct rtnl_neightbl *, uint64_t);
55 
56 #ifdef __cplusplus
57 }
58 #endif
59 
60 #endif
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:765
struct rtnl_neightbl * rtnl_neightbl_get(struct nl_cache *, const char *, int)
Lookup neighbour table by name and optional interface index.
Definition: neightbl.c:412
int rtnl_neightbl_change(struct nl_sock *, struct rtnl_neightbl *, struct rtnl_neightbl *)
Change neighbour table attributes.
Definition: neightbl.c:572
void rtnl_neightbl_set_locktime(struct rtnl_neightbl *, uint64_t)
Set the locktime of a neighbour table to the specified value.
Definition: neightbl.c:777
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:455
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:729
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:644
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:394
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:668
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:753
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:741
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:717
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:692
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:656
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:704
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:680
Dumping parameters.
Definition: types.h:28