table.h

Types and functions for operating fib tables.

FIB_MAX_REGISTERED_RP

maximum number of handled routing protocols (RP) used to notify the saved kernel_pid_t on unreachable destination

1
(5)
FIB_TABLE_TYPE_SH

FIB table type for single hop entries.

1
(1)
FIB_TABLE_TYPE_SR

FIB table type for source routes.

1
(FIB_TABLE_TYPE_SH + 1)
struct fib_sr_entry fib_sr_entry_t

Container descriptor for a FIB source route entry.

struct fib_entry_t

Container descriptor for a FIB entry.

kernel_types.h::kernel_pid_t iface_id

interface ID

uint64_t lifetime

Lifetime of this entry (an absolute time-point is stored by the FIB)

uint32_t global_flags

Unique identifier for the type of the global address.

universal_address_container_t * global

Pointer to the shared generic address.

uint32_t next_hop_flags

Unique identifier for the type of the next hop address.

universal_address_container_t * next_hop

Pointer to the shared generic address.

struct fib_sr_entry

Container descriptor for a FIB source route entry.

universal_address_container_t * address

Pointer to the shared generic address.

struct fib_sr_entry * next

Pointer to the next shared generic address on the source route.

struct fib_sr_t

Container descriptor for a FIB source route.

kernel_types.h::kernel_pid_t sr_iface_id

interface ID

uint64_t sr_lifetime

Lifetime of this entry (an absolute time-point is stored by the FIB)

uint32_t sr_flags

Flags for this source route.

table.h::fib_sr_entry_t * sr_path

Pointer to the first hop on the source route.

table.h::fib_sr_entry_t * sr_dest

Pointer to the destination of the source route.

struct fib_sr_meta_t

Container for one FIB source route table, combining source routes and an entry pool.

fib_sr_t * headers

pointer to source route header array

table.h::fib_sr_entry_t * entry_pool

pointer to entry pool array holding all hop entries for this table

msp430_types.h::size_t entry_pool_size

the maximum number of elements in the entry pool

struct fib_table_t

Meta information of a FIB table.

fib_entry_t * entries

array holding the FIB entries for single hops

fib_sr_meta_t * source_routes

array holding the FIB entries for source routes

union fib_table_t::@186 data

A single hop OR source route data array.

uint8_t table_type

the kind of this FIB table, single hop or source route.

This value indicates what is stored in data of this table

msp430_types.h::size_t size

the maximim number of entries in this FIB table

mutex_t mtx_access

table access mutex to grant exclusive operations on calls

msp430_types.h::size_t notify_rp_pos

current number of registered RPs.

kernel_types.h::kernel_pid_t notify_rp()

the kernel_pid_t of the registered RPs.

Used to notify the RPs by the FIB on certain conditions, e.g. when a destination is unreachable

universal_address_container_t * prefix_rp()

the prefix handled by each registered RP.

Used to dispatch if the RP is responsible for the condition, e.g. when the unreachable destination is covered by the prefix