libnl 3.7.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
14extern "C" {
15#endif
16
17struct rtnl_neightbl;
18
19extern struct rtnl_neightbl *rtnl_neightbl_alloc(void);
20extern void rtnl_neightbl_put(struct rtnl_neightbl *);
21extern void rtnl_neightbl_free(struct rtnl_neightbl *);
22extern int rtnl_neightbl_alloc_cache(struct nl_sock *, struct nl_cache **);
23extern struct rtnl_neightbl *rtnl_neightbl_get(struct nl_cache *,
24 const char *, int);
25extern void rtnl_neightbl_dump(struct rtnl_neightbl *, FILE *,
26 struct nl_dump_params *);
27
28extern int rtnl_neightbl_build_change_request(struct rtnl_neightbl *,
29 struct rtnl_neightbl *,
30 struct nl_msg **);
31extern int rtnl_neightbl_change(struct nl_sock *, struct rtnl_neightbl *,
32 struct rtnl_neightbl *);
33
34extern void rtnl_neightbl_set_family(struct rtnl_neightbl *, int);
35extern void rtnl_neightbl_set_gc_tresh1(struct rtnl_neightbl *, int);
36extern void rtnl_neightbl_set_gc_tresh2(struct rtnl_neightbl *, int);
37extern void rtnl_neightbl_set_gc_tresh3(struct rtnl_neightbl *, int);
38extern void rtnl_neightbl_set_gc_interval(struct rtnl_neightbl *, uint64_t);
39extern void rtnl_neightbl_set_name(struct rtnl_neightbl *, const char *);
40extern void rtnl_neightbl_set_dev(struct rtnl_neightbl *, int);
41extern void rtnl_neightbl_set_queue_len(struct rtnl_neightbl *, int);
42extern void rtnl_neightbl_set_proxy_queue_len(struct rtnl_neightbl *, int);
43extern void rtnl_neightbl_set_app_probes(struct rtnl_neightbl *, int);
44extern void rtnl_neightbl_set_ucast_probes(struct rtnl_neightbl *, int);
45extern void rtnl_neightbl_set_mcast_probes(struct rtnl_neightbl *, int);
46extern void rtnl_neightbl_set_base_reachable_time(struct rtnl_neightbl *,
47 uint64_t);
48extern void rtnl_neightbl_set_retrans_time(struct rtnl_neightbl *, uint64_t);
49extern void rtnl_neightbl_set_gc_stale_time(struct rtnl_neightbl *, uint64_t);
50extern void rtnl_neightbl_set_delay_probe_time(struct rtnl_neightbl *,
51 uint64_t);
52extern void rtnl_neightbl_set_anycast_delay(struct rtnl_neightbl *, uint64_t);
53extern void rtnl_neightbl_set_proxy_delay(struct rtnl_neightbl *, uint64_t);
54extern 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:759
int rtnl_neightbl_change(struct nl_sock *, struct rtnl_neightbl *, struct rtnl_neightbl *)
Change neighbour table attributes.
Definition: neightbl.c:566
struct rtnl_neightbl * rtnl_neightbl_get(struct nl_cache *, const char *, int)
Lookup neighbour table by name and optional interface index.
Definition: neightbl.c:409
void rtnl_neightbl_set_locktime(struct rtnl_neightbl *, uint64_t)
Set the locktime of a neighbour table to the specified value.
Definition: neightbl.c:771
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:452
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:723
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:638
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:391
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:662
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:747
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:735
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:711
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:686
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:650
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:698
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:674
Dumping parameters.
Definition: types.h:28