libnl  3.2.3
Route Object

Modules

 Nexthop

Functions

int rtnl_route_parse (struct nlmsghdr *nlh, struct rtnl_route **result)
int rtnl_route_build_msg (struct nl_msg *msg, struct rtnl_route *route)

Allocation/Freeing

struct rtnl_route * rtnl_route_alloc (void)
void rtnl_route_get (struct rtnl_route *route)
void rtnl_route_put (struct rtnl_route *route)

Attributes

void rtnl_route_set_table (struct rtnl_route *route, uint32_t table)
uint32_t rtnl_route_get_table (struct rtnl_route *route)
void rtnl_route_set_scope (struct rtnl_route *route, uint8_t scope)
uint8_t rtnl_route_get_scope (struct rtnl_route *route)
void rtnl_route_set_tos (struct rtnl_route *route, uint8_t tos)
uint8_t rtnl_route_get_tos (struct rtnl_route *route)
void rtnl_route_set_protocol (struct rtnl_route *route, uint8_t protocol)
uint8_t rtnl_route_get_protocol (struct rtnl_route *route)
void rtnl_route_set_priority (struct rtnl_route *route, uint32_t prio)
uint32_t rtnl_route_get_priority (struct rtnl_route *route)
int rtnl_route_set_family (struct rtnl_route *route, uint8_t family)
uint8_t rtnl_route_get_family (struct rtnl_route *route)
int rtnl_route_set_dst (struct rtnl_route *route, struct nl_addr *addr)
struct nl_addr * rtnl_route_get_dst (struct rtnl_route *route)
int rtnl_route_set_src (struct rtnl_route *route, struct nl_addr *addr)
struct nl_addr * rtnl_route_get_src (struct rtnl_route *route)
int rtnl_route_set_type (struct rtnl_route *route, uint8_t type)
uint8_t rtnl_route_get_type (struct rtnl_route *route)
void rtnl_route_set_flags (struct rtnl_route *route, uint32_t flags)
void rtnl_route_unset_flags (struct rtnl_route *route, uint32_t flags)
uint32_t rtnl_route_get_flags (struct rtnl_route *route)
int rtnl_route_set_metric (struct rtnl_route *route, int metric, uint32_t value)
int rtnl_route_unset_metric (struct rtnl_route *route, int metric)
int rtnl_route_get_metric (struct rtnl_route *route, int metric, uint32_t *value)
int rtnl_route_set_pref_src (struct rtnl_route *route, struct nl_addr *addr)
struct nl_addr * rtnl_route_get_pref_src (struct rtnl_route *route)
void rtnl_route_set_iif (struct rtnl_route *route, int ifindex)
int rtnl_route_get_iif (struct rtnl_route *route)
void rtnl_route_add_nexthop (struct rtnl_route *route, struct rtnl_nexthop *nh)
void rtnl_route_remove_nexthop (struct rtnl_route *route, struct rtnl_nexthop *nh)
struct nl_list_headrtnl_route_get_nexthops (struct rtnl_route *route)
int rtnl_route_get_nnexthops (struct rtnl_route *route)
void rtnl_route_foreach_nexthop (struct rtnl_route *r, void(*cb)(struct rtnl_nexthop *, void *), void *arg)
struct rtnl_nexthop * rtnl_route_nexthop_n (struct rtnl_route *r, int n)

Utilities

int rtnl_route_guess_scope (struct rtnl_route *route)
 Guess scope of a route object.

Detailed Description

Attributes
 Name                                           Default
 -------------------------------------------------------------
 routing table                                  RT_TABLE_MAIN
 scope                                          RT_SCOPE_NOWHERE
 tos                                            0
 protocol                                       RTPROT_STATIC
 prio                                           0
 family                                         AF_UNSPEC
 type                                           RTN_UNICAST
 iif                                            NULL

Function Documentation

int rtnl_route_guess_scope ( struct rtnl_route *  route)

Guess scope of a route object.

Parameters:
routeRoute object.

Guesses the scope of a route object, based on the following rules:

   1) Local route -> local scope
   2) At least one nexthop not directly connected -> universe scope
   3) All others -> link scope
Returns:
Scope value.

Definition at line 759 of file route_obj.c.