IPv6 Routing
[IP Core Functions]

Collaboration diagram for IPv6 Routing:


Files

file  fip_route6.c
 IPv6 Routing Functions.

Functions

fip_return_t fip_route6_addRoute (const unsigned char route[], unsigned char routeLen, unsigned char metric, fip_ifnum_t interface, fip_vlifetime_t lifetime, const fip_ip6addr_t *const nextHop, fip_bool_t advRoute)
 Add a route to the route table, does not check if entry exists already.
fip_route6_searchStatus_t fip_route6_findRouteByDestination (const unsigned char *route, unsigned char routeLen)
 Find an exact entry in the routing table, used to delete/modify that entry.
fip_route6_searchStatus_t fip_route6_findRouteByNextHop (const fip_ip6addr_t *const nextHop)
 Find an exact entry in the routing table, used to delete/modify that entry.
fip_ds6_searchStatus_t fip_route6_findBestRoute (const fip_ip6addr_t *const destination)
 Find the best route for the destination.
const fip_ip6addr_tfip_route6_getNextHop (void)
 ONLY called for unicast!
void fip_route6_process (void)
 IPv6 Packet is not actually destined to use, BUT we have forwarding enabled.

Function Documentation

fip_return_t fip_route6_addRoute ( const unsigned char  route[],
unsigned char  routeLen,
unsigned char  metric,
fip_ifnum_t  interface,
fip_vlifetime_t  lifetime,
const fip_ip6addr_t *const   nextHop,
fip_bool_t  advRoute 
)

Add a route to the route table, does not check if entry exists already.

Parameters:
route The destination of the route, for example 2001:1:2::
routeLen The length in bits that 'route' is valid for
metric The route metric
interface Interface on which the next hop is located
lifetime Lifetime of the route, 0xffffffff or 0 are both infinite.
nextHop The next-hop IP address
advRoute For routers only, flag to indicate it route is advertised
Returns:
Result of adding route
Return values:
RV_OK if added OK
RV_PARAMETER_RROR if parameter had a fault
RV_MEMORY_ERROR if routing table is full

References fip_ip6addr_t::addr, fip_myip6route_t::advRoute, fip_myip6route_t::expireTime32S, fip_ip6addr_cpy, fip_memcpy_ucharLen, fip_myip6route_t::interfaceNext, fip_myip6route_t::length, fip_myip6route_t::metric, ROUTE_UNUSED, ROUTE_USED, RV_MEMORY_ERROR, RV_OK, RV_PARAMETER_ERROR, fip_myip6route_t::state, and fip_myip6route_t::validLifetime.

Referenced by fip_console_route().

fip_ds6_searchStatus_t fip_route6_findBestRoute ( const fip_ip6addr_t *const   destination  ) 

Find the best route for the destination.

Parameters:
destination IP Address
Returns:
fip_ds6_searchStatus_t indicating if successful, and if so the index to that router.

References fip_ip6addr_t::addr, fip_ds6_searchStatus_t::index, fip_ds6_searchStatus_t::itemFound, fip_myip6route_t::length, and ROUTE_UNUSED.

Referenced by fip_route6_getNextHop().

fip_route6_searchStatus_t fip_route6_findRouteByDestination ( const unsigned char *  route,
unsigned char  routeLen 
)

Find an exact entry in the routing table, used to delete/modify that entry.

Parameters:
route The destination of the route, for example 2001:1:2::
routeLen The length in bits that route is valid for
Returns:
fip_route6_searchStatus_t indicating status, and if found the index

References fip_ds6_searchStatus_t::index, fip_ds6_searchStatus_t::itemFound, and ROUTE_UNUSED.

fip_route6_searchStatus_t fip_route6_findRouteByNextHop ( const fip_ip6addr_t *const   nextHop  ) 

Find an exact entry in the routing table, used to delete/modify that entry.

Parameters:
nextHop next hop IP Address
Returns:
fip_route6_searchStatus_t indicating status, and if found the index

References fip_ip6addr_t::addr, and fip_ds6_searchList().

Here is the call graph for this function:

const fip_ip6addr_t* fip_route6_getNextHop ( void   ) 


Generated on Wed Dec 8 13:00:39 2010 for FIP by  doxygen 1.5.7.1