Request
[FIB Lookup]


Lookup Request Creation/Deletion

flnl_request * flnl_request_alloc (void)
 Allocate and initialize new lookup request object.
flnl_request * flnl_request_get (struct flnl_request *req)
 Request undestroyable reference of lookup request object.
void flnl_request_put (struct flnl_request *req)
 Give back reference of lookup request object.
void flnl_request_free (struct flnl_request *req)
 Free lookup request object.

Attribute Access

void flnl_request_set_fwmark (struct flnl_request *req, uint64_t fwmark)
 Set firewall mark of lookup request object.
uint64_t flnl_request_get_fwmark (struct flnl_request *req)
 Get firewall mark of lookup request object.
void flnl_request_set_tos (struct flnl_request *req, int tos)
 Set Type of Service of lookup request object.
int flnl_request_get_tos (struct flnl_request *req)
 Get Type of Service of lookup request object.
void flnl_request_set_scope (struct flnl_request *req, int scope)
 Set Scope of lookup request object.
int flnl_request_get_scope (struct flnl_request *req)
 Get scope of lookup request object.
void flnl_request_set_table (struct flnl_request *req, int table)
 Set routing table of lookup request object.
int flnl_request_get_table (struct flnl_request *req)
 Get routing table of lookup request object.
int flnl_request_set_addr (struct flnl_request *req, struct nl_addr *addr)
 Set destination address of lookup request object.
nl_addr * flnl_request_get_addr (struct flnl_request *req)
 Get destination address of lookup request object.

Miscellaneous

int flnl_request_cmp (struct flnl_request *a, struct flnl_request *b)
 Compares two lookup request objects.


Function Documentation

struct flnl_request* flnl_request_alloc ( void   ) 

Allocate and initialize new lookup request object.

Note:
Free the memory after usage using flnl_request_put() or flnl_request_free().
Returns:
Newly allocated lookup request object or NULL if an error occured.

Definition at line 45 of file request.c.

struct flnl_request* flnl_request_get ( struct flnl_request *  req  ) 

Request undestroyable reference of lookup request object.

Parameters:
req Lookup request object.
Returns:
Lookup request object of which the reference was given.

Definition at line 63 of file request.c.

void flnl_request_put ( struct flnl_request *  req  ) 

Give back reference of lookup request object.

Parameters:
req Lookup request object to be given back.
Decrements the reference counter and destroys the object if the last reference was given back.

Definition at line 77 of file request.c.

References flnl_request_free().

void flnl_request_free ( struct flnl_request *  req  ) 

Free lookup request object.

Parameters:
req Lookup request object to be freed.

Definition at line 92 of file request.c.

Referenced by flnl_request_put().

void flnl_request_set_fwmark ( struct flnl_request *  req,
uint64_t  fwmark 
)

Set firewall mark of lookup request object.

Parameters:
req Lookup request object.
fwmark Firewall mark.

Definition at line 115 of file request.c.

uint64_t flnl_request_get_fwmark ( struct flnl_request *  req  ) 

Get firewall mark of lookup request object.

Parameters:
req Lookup request object.
Returns:
Firewall mark or UINT_LEAST64_MAX if not available.

Definition at line 126 of file request.c.

Referenced by flnl_lookup_build_request().

void flnl_request_set_tos ( struct flnl_request *  req,
int  tos 
)

Set Type of Service of lookup request object.

Parameters:
req Lookup request object.
tos Type of Service.

Definition at line 139 of file request.c.

int flnl_request_get_tos ( struct flnl_request *  req  ) 

Get Type of Service of lookup request object.

Parameters:
req Lookup request object.
Returns:
Type of Service or -1 if not available.

Definition at line 150 of file request.c.

Referenced by flnl_lookup_build_request().

void flnl_request_set_scope ( struct flnl_request *  req,
int  scope 
)

Set Scope of lookup request object.

Parameters:
req Lookup request oject.
scope Routing scope.

Definition at line 163 of file request.c.

int flnl_request_get_scope ( struct flnl_request *  req  ) 

Get scope of lookup request object.

Parameters:
req Lookup request object.
Returns:
Scope or -1 if not available.

Definition at line 174 of file request.c.

Referenced by flnl_lookup_build_request().

void flnl_request_set_table ( struct flnl_request *  req,
int  table 
)

Set routing table of lookup request object.

Parameters:
req Lookup request object.
table Routing table.

Definition at line 187 of file request.c.

int flnl_request_get_table ( struct flnl_request *  req  ) 

Get routing table of lookup request object.

Parameters:
req Lookup request object.
Returns:
Routing table or -1 if not available.

Definition at line 198 of file request.c.

Referenced by flnl_lookup_build_request().

int flnl_request_set_addr ( struct flnl_request *  req,
struct nl_addr *  addr 
)

Set destination address of lookup request object.

Parameters:
req Lookup request object.
addr IPv4 destination address.

Definition at line 211 of file request.c.

References nl_addr_get(), and nl_addr_put().

struct nl_addr* flnl_request_get_addr ( struct flnl_request *  req  ) 

Get destination address of lookup request object.

Parameters:
req Lookup request object.
Returns:
Destination address or NULL if not available.

Definition at line 232 of file request.c.

Referenced by flnl_lookup_build_request().

int flnl_request_cmp ( struct flnl_request *  a,
struct flnl_request *  b 
)

Compares two lookup request objects.

Parameters:
a Lookup request object.
b Another lookup request object.
Returns:
Integer less than, equal to or greather than zero if is found, respectively to be less than, to, or be greater than b.

Definition at line 255 of file request.c.

References nl_addr_cmp().


Generated on Fri Apr 27 14:14:07 2007 for libnl by  doxygen 1.5.1