netfilter
firewalling, NAT, and packet mangling for linux
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
neightbl.c File Reference
Include dependency graph for neightbl.c:

Macros

#define NT_DIFF(ATTR, EXPR)   ATTR_DIFF(attrs, NEIGHTBL_ATTR_##ATTR, a, b, EXPR)
 
#define COPY_ENTRY(name, var)
 

Functions

Allocation/Freeing
struct rtnl_neightblrtnl_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_neightblrtnl_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...
 

Macro Definition Documentation

#define COPY_ENTRY (   name,
  var 
)
Value:
if (tbp[NDTPA_ ##name]) { \
p->ntp_ ##var = nla_get_u32(tbp[NDTPA_ ##name]); \
p->ntp_mask |= NEIGHTBLPARM_ATTR_ ##name; \
}
uint32_t nla_get_u32(struct nlattr *)
Return payload of 32 bit integer attribute.
Definition: attr.c:961
const char * name
Definition: libxt_hashlimit.c:457
#define NT_DIFF (   ATTR,
  EXPR 
)    ATTR_DIFF(attrs, NEIGHTBL_ATTR_##ATTR, a, b, EXPR)