libnl 1.1.4
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-2006 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
20extern "C" {
21#endif
22
23struct rtnl_neightbl;
24
25extern struct rtnl_neightbl *rtnl_neightbl_alloc(void);
26extern void rtnl_neightbl_put(struct rtnl_neightbl *);
27extern void rtnl_neightbl_free(struct rtnl_neightbl *);
28extern struct nl_cache *rtnl_neightbl_alloc_cache(struct nl_handle *);
29extern struct rtnl_neightbl *rtnl_neightbl_get(struct nl_cache *,
30 const char *, int);
31extern void rtnl_neightbl_dump(struct rtnl_neightbl *, FILE *,
32 struct nl_dump_params *);
33
34extern struct nl_msg *rtnl_neightbl_build_change_request(struct rtnl_neightbl *,
35 struct rtnl_neightbl *);
36extern int rtnl_neightbl_change(struct nl_handle *, struct rtnl_neightbl *,
37 struct rtnl_neightbl *);
38
39extern void rtnl_neightbl_set_family(struct rtnl_neightbl *, int);
40extern void rtnl_neightbl_set_gc_tresh1(struct rtnl_neightbl *, int);
41extern void rtnl_neightbl_set_gc_tresh2(struct rtnl_neightbl *, int);
42extern void rtnl_neightbl_set_gc_tresh3(struct rtnl_neightbl *, int);
43extern void rtnl_neightbl_set_name(struct rtnl_neightbl *, const char *);
44extern void rtnl_neightbl_set_dev(struct rtnl_neightbl *, int);
45extern void rtnl_neightbl_set_queue_len(struct rtnl_neightbl *, int);
46extern void rtnl_neightbl_set_proxy_queue_len(struct rtnl_neightbl *, int);
47extern void rtnl_neightbl_set_app_probes(struct rtnl_neightbl *, int);
48extern void rtnl_neightbl_set_ucast_probes(struct rtnl_neightbl *, int);
49extern void rtnl_neightbl_set_mcast_probes(struct rtnl_neightbl *, int);
50extern void rtnl_neightbl_set_base_reachable_time(struct rtnl_neightbl *,
51 uint64_t);
52extern void rtnl_neightbl_set_retrans_time(struct rtnl_neightbl *, uint64_t);
53extern void rtnl_neightbl_set_gc_stale_time(struct rtnl_neightbl *, uint64_t);
54extern void rtnl_neightbl_set_delay_probe_time(struct rtnl_neightbl *,
55 uint64_t);
56extern void rtnl_neightbl_set_anycast_delay(struct rtnl_neightbl *, uint64_t);
57extern void rtnl_neightbl_set_proxy_delay(struct rtnl_neightbl *, uint64_t);
58extern void rtnl_neightbl_set_locktime(struct rtnl_neightbl *, uint64_t);
59
60#ifdef __cplusplus
61}
62#endif
63
64#endif
struct nl_msg * rtnl_neightbl_build_change_request(struct rtnl_neightbl *, struct rtnl_neightbl *)
Builds a netlink change request message to change neighbour table attributes.
Definition: neightbl.c:478
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:769
struct nl_cache * rtnl_neightbl_alloc_cache(struct nl_handle *)
Build a neighbour table cache including all neighbour tables currently configured in the kernel.
Definition: neightbl.c:407
int rtnl_neightbl_change(struct nl_handle *, struct rtnl_neightbl *, struct rtnl_neightbl *)
Change neighbour table attributes.
Definition: neightbl.c:578
struct rtnl_neightbl * rtnl_neightbl_get(struct nl_cache *, const char *, int)
Lookup neighbour table by name and optional interface index.
Definition: neightbl.c:436
void rtnl_neightbl_set_locktime(struct rtnl_neightbl *, uint64_t)
Set the locktime of a neighbour table to the specified value.
Definition: neightbl.c:781
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:733
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:648
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:672
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:757
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:745
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:721
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:696
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:660
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:708
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:684
Dumping parameters.
Definition: types.h:37