libnl
3.2.24-rc1
|
Allocation/Freeing | |
struct rtnl_neightbl * | rtnl_neightbl_alloc (void) |
void | rtnl_neightbl_put (struct rtnl_neightbl *neightbl) |
Neighbour Table Cache Management | |
int | rtnl_neightbl_alloc_cache (struct nl_sock *sk, struct nl_cache **result) |
Build a neighbour table cache including all neighbour tables currently configured in the kernel. More... | |
struct rtnl_neightbl * | rtnl_neightbl_get (struct nl_cache *cache, const char *name, int ifindex) |
Lookup neighbour table by name and optional interface index. More... | |
Neighbour Table Modifications | |
int | rtnl_neightbl_build_change_request (struct rtnl_neightbl *old, struct rtnl_neightbl *tmpl, struct nl_msg **result) |
Builds a netlink change request message to change neighbour table attributes. More... | |
int | rtnl_neightbl_change (struct nl_sock *sk, struct rtnl_neightbl *old, struct rtnl_neightbl *tmpl) |
Change neighbour table attributes. More... | |
Attribute Modification | |
void | rtnl_neightbl_set_family (struct rtnl_neightbl *ntbl, int family) |
void | rtnl_neightbl_set_gc_interval (struct rtnl_neightbl *ntbl, uint64_t ms) |
void | rtnl_neightbl_set_gc_tresh1 (struct rtnl_neightbl *ntbl, int thresh) |
void | rtnl_neightbl_set_gc_tresh2 (struct rtnl_neightbl *ntbl, int thresh) |
void | rtnl_neightbl_set_gc_tresh3 (struct rtnl_neightbl *ntbl, int thresh) |
void | rtnl_neightbl_set_name (struct rtnl_neightbl *ntbl, const char *name) |
void | rtnl_neightbl_set_dev (struct rtnl_neightbl *ntbl, int ifindex) |
void | rtnl_neightbl_set_queue_len (struct rtnl_neightbl *ntbl, int len) |
Set the queue length for pending requests of a neighbour table to the specified value. More... | |
void | rtnl_neightbl_set_proxy_queue_len (struct rtnl_neightbl *ntbl, int len) |
Set the queue length for delay proxy arp requests of a neighbour table to the specified value. More... | |
void | rtnl_neightbl_set_app_probes (struct rtnl_neightbl *ntbl, int probes) |
Set the number of application probes of a neighbour table to the specified value. More... | |
void | rtnl_neightbl_set_ucast_probes (struct rtnl_neightbl *ntbl, int probes) |
Set the number of unicast probes of a neighbour table to the specified value. More... | |
void | rtnl_neightbl_set_mcast_probes (struct rtnl_neightbl *ntbl, int probes) |
Set the number of multicast probes of a neighbour table to the specified value. More... | |
void | rtnl_neightbl_set_base_reachable_time (struct rtnl_neightbl *ntbl, uint64_t ms) |
Set the base reachable time of a neighbour table to the specified value. More... | |
void | rtnl_neightbl_set_retrans_time (struct rtnl_neightbl *ntbl, uint64_t ms) |
Set the retransmit time of a neighbour table to the specified value. More... | |
void | rtnl_neightbl_set_gc_stale_time (struct rtnl_neightbl *ntbl, uint64_t ms) |
Set the gc stale time of a neighbour table to the specified value. More... | |
void | rtnl_neightbl_set_delay_probe_time (struct rtnl_neightbl *ntbl, uint64_t ms) |
Set the first probe delay time of a neighbour table to the specified value. More... | |
void | rtnl_neightbl_set_anycast_delay (struct rtnl_neightbl *ntbl, uint64_t ms) |
Set the anycast delay of a neighbour table to the specified value. More... | |
void | rtnl_neightbl_set_proxy_delay (struct rtnl_neightbl *ntbl, uint64_t ms) |
Set the proxy delay of a neighbour table to the specified value. More... | |
void | rtnl_neightbl_set_locktime (struct rtnl_neightbl *ntbl, uint64_t ms) |
Set the locktime of a neighbour table to the specified value. More... | |
int rtnl_neightbl_alloc_cache | ( | struct nl_sock * | sk, |
struct nl_cache ** | result | ||
) |
Build a neighbour table cache including all neighbour tables currently configured in the kernel.
sk | Netlink socket. |
result | Pointer to store resulting cache. |
Allocates a new neighbour table cache, initializes it properly and updates it to include all neighbour tables currently configured in the kernel.
Definition at line 399 of file neightbl.c.
References nl_cache_alloc_and_fill().
|
read |
Lookup neighbour table by name and optional interface index.
cache | neighbour table cache |
name | name of table |
ifindex | optional interface index |
Looks up the neighbour table matching the specified name and optionally the specified ifindex to retrieve device specific parameter sets.
Definition at line 417 of file neightbl.c.
References nl_object_get().
int rtnl_neightbl_build_change_request | ( | struct rtnl_neightbl * | old, |
struct rtnl_neightbl * | tmpl, | ||
struct nl_msg ** | result | ||
) |
Builds a netlink change request message to change neighbour table attributes.
old | neighbour table to change |
tmpl | template with requested changes |
result | Pointer to store resulting message. |
Builds a new netlink message requesting a change of neighbour table attributes. The netlink message header isn't fully equipped with all relevant fields and must be sent out via nl_send_auto_complete() or supplemented as needed. old must point to a neighbour table currently configured in the kernel and tmpl must contain the attributes to be changed set via rtnl_neightbl_set_*
functions.
Definition at line 460 of file neightbl.c.
References nla_put_nested(), NLA_PUT_STRING, NLA_PUT_U32, NLA_PUT_U64, nlmsg_alloc(), nlmsg_alloc_simple(), nlmsg_append(), and nlmsg_free().
Referenced by rtnl_neightbl_change().
int rtnl_neightbl_change | ( | struct nl_sock * | sk, |
struct rtnl_neightbl * | old, | ||
struct rtnl_neightbl * | tmpl | ||
) |
Change neighbour table attributes.
sk | Netlink socket. |
old | neighbour table to be changed |
tmpl | template with requested changes |
Builds a new netlink message by calling rtnl_neightbl_build_change_request(), sends the request to the kernel and waits for the next ACK to be received, i.e. blocks until the request has been processed.
Definition at line 577 of file neightbl.c.
References nl_send_auto_complete(), nlmsg_free(), and rtnl_neightbl_build_change_request().
void rtnl_neightbl_set_queue_len | ( | struct rtnl_neightbl * | ntbl, |
int | len | ||
) |
Set the queue length for pending requests of a neighbour table to the specified value.
ntbl | neighbour table to change |
len | new queue len |
Definition at line 649 of file neightbl.c.
void rtnl_neightbl_set_proxy_queue_len | ( | struct rtnl_neightbl * | ntbl, |
int | len | ||
) |
Set the queue length for delay proxy arp requests of a neighbour table to the specified value.
ntbl | neighbour table to change |
len | new queue len |
Definition at line 661 of file neightbl.c.
void rtnl_neightbl_set_app_probes | ( | struct rtnl_neightbl * | ntbl, |
int | probes | ||
) |
Set the number of application probes of a neighbour table to the specified value.
ntbl | neighbour table to change |
probes | new probes value |
Definition at line 673 of file neightbl.c.
void rtnl_neightbl_set_ucast_probes | ( | struct rtnl_neightbl * | ntbl, |
int | probes | ||
) |
Set the number of unicast probes of a neighbour table to the specified value.
ntbl | neighbour table to change |
probes | new probes value |
Definition at line 685 of file neightbl.c.
void rtnl_neightbl_set_mcast_probes | ( | struct rtnl_neightbl * | ntbl, |
int | probes | ||
) |
Set the number of multicast probes of a neighbour table to the specified value.
ntbl | neighbour table to change |
probes | new probes value |
Definition at line 697 of file neightbl.c.
void rtnl_neightbl_set_base_reachable_time | ( | struct rtnl_neightbl * | ntbl, |
uint64_t | ms | ||
) |
Set the base reachable time of a neighbour table to the specified value.
ntbl | neighbour table to change |
ms | new base reachable time in milliseconds |
Definition at line 709 of file neightbl.c.
void rtnl_neightbl_set_retrans_time | ( | struct rtnl_neightbl * | ntbl, |
uint64_t | ms | ||
) |
Set the retransmit time of a neighbour table to the specified value.
ntbl | neighbour table to change |
ms | new retransmit time |
Definition at line 722 of file neightbl.c.
void rtnl_neightbl_set_gc_stale_time | ( | struct rtnl_neightbl * | ntbl, |
uint64_t | ms | ||
) |
Set the gc stale time of a neighbour table to the specified value.
ntbl | neighbour table to change |
ms | new gc stale time in milliseconds |
Definition at line 734 of file neightbl.c.
void rtnl_neightbl_set_delay_probe_time | ( | struct rtnl_neightbl * | ntbl, |
uint64_t | ms | ||
) |
Set the first probe delay time of a neighbour table to the specified value.
ntbl | neighbour table to change |
ms | new first probe delay time in milliseconds |
Definition at line 746 of file neightbl.c.
void rtnl_neightbl_set_anycast_delay | ( | struct rtnl_neightbl * | ntbl, |
uint64_t | ms | ||
) |
Set the anycast delay of a neighbour table to the specified value.
ntbl | neighbour table to change |
ms | new anycast delay in milliseconds |
Definition at line 758 of file neightbl.c.
void rtnl_neightbl_set_proxy_delay | ( | struct rtnl_neightbl * | ntbl, |
uint64_t | ms | ||
) |
Set the proxy delay of a neighbour table to the specified value.
ntbl | neighbour table to change |
ms | new proxy delay in milliseconds |
Definition at line 770 of file neightbl.c.
void rtnl_neightbl_set_locktime | ( | struct rtnl_neightbl * | ntbl, |
uint64_t | ms | ||
) |
Set the locktime of a neighbour table to the specified value.
ntbl | neighbour table to change |
ms | new locktime in milliseconds |
Definition at line 782 of file neightbl.c.