Macros | |
#define | CSP_NODE_MAC 0xFF |
#define | CSP_ROUTE_COUNT (CSP_ID_HOST_MAX + 2) |
#define | CSP_ROUTE_TABLE_SIZE 5 * CSP_ROUTE_COUNT |
#define | csp_route_set(node, ifc, mac) csp_rtable_set(node, CSP_ID_HOST_SIZE, ifc, mac) |
Setup routing entry to single node (deprecated, please use csp_rtable_set) More... | |
#define | csp_route_print_table() csp_rtable_print(); |
Print routing table (deprecated, please use csp_rtable_print) More... | |
#define | csp_route_print_interfaces() csp_iflist_print(); |
Print list of interfaces (deprecated, please use csp_iflist_print) More... | |
Functions | |
csp_iface_t * | csp_rtable_find_iface (uint8_t id) |
Find outgoing interface in routing table. More... | |
uint8_t | csp_rtable_find_mac (uint8_t id) |
Find MAC address associated with node. More... | |
int | csp_rtable_set (uint8_t node, uint8_t mask, csp_iface_t *ifc, uint8_t mac) |
Setup routing entry. More... | |
void | csp_rtable_print (void) |
Print routing table to stdout. More... | |
void | csp_route_table_load (uint8_t route_table_in[CSP_ROUTE_TABLE_SIZE]) |
Load the routing table from a buffer (deprecated, please use new csp_rtable_load) More... | |
void | csp_route_table_save (uint8_t route_table_out[CSP_ROUTE_TABLE_SIZE]) |
Save the routing table to a buffer (deprecated, please use new csp_rtable_save) More... | |
int | csp_rtable_save (char *buffer, int maxlen) |
Save routing table as a string to a buffer, which can be parsed again by csp_rtable_load. More... | |
void | csp_rtable_load (char *buffer) |
Load routing table from a string in the format u/u s u. More... | |
int | csp_rtable_check (char *buffer) |
Check string for valid routing table. More... | |
void | csp_rtable_clear (void) |
Clear routing table: This could be done before load to ensure an entire clean table is loaded. More... | |
Macro Definition Documentation
#define CSP_NODE_MAC 0xFF |
#define CSP_ROUTE_COUNT (CSP_ID_HOST_MAX + 2) |
#define csp_route_print_interfaces | ( | ) | csp_iflist_print(); |
Print list of interfaces (deprecated, please use csp_iflist_print)
#define csp_route_print_table | ( | ) | csp_rtable_print(); |
Print routing table (deprecated, please use csp_rtable_print)
#define csp_route_set | ( | node, | |
ifc, | |||
mac | |||
) | csp_rtable_set(node, CSP_ID_HOST_SIZE, ifc, mac) |
Setup routing entry to single node (deprecated, please use csp_rtable_set)
- Parameters
-
node Host ifc Interface mac MAC address
- Returns
- CSP error type
#define CSP_ROUTE_TABLE_SIZE 5 * CSP_ROUTE_COUNT |
Function Documentation
void csp_route_table_load | ( | uint8_t | route_table_in[CSP_ROUTE_TABLE_SIZE] | ) |
Load the routing table from a buffer (deprecated, please use new csp_rtable_load)
Warning: The table will be RAW from memory and contains direct pointers, not interface names. Therefore it's very important that a saved routing table is deleted after a firmware update
- Parameters
-
route_table_in pointer to routing table buffer
void csp_route_table_save | ( | uint8_t | route_table_out[CSP_ROUTE_TABLE_SIZE] | ) |
Save the routing table to a buffer (deprecated, please use new csp_rtable_save)
Warning: The table will be RAW from memory and contains direct pointers, not interface names. Therefore it's very important that a saved routing table is deleted after a firmware update
- Parameters
-
route_table_out pointer to routing table buffer
int csp_rtable_check | ( | char * | buffer | ) |
Check string for valid routing table.
- Parameters
-
buffer Pointer to string
- Returns
- number of valid entries found
void csp_rtable_clear | ( | void | ) |
Clear routing table: This could be done before load to ensure an entire clean table is loaded.
csp_iface_t* csp_rtable_find_iface | ( | uint8_t | id | ) |
Find outgoing interface in routing table.
- Parameters
-
id Destination node
- Returns
- pointer to outgoing interface or NULL
uint8_t csp_rtable_find_mac | ( | uint8_t | id | ) |
Find MAC address associated with node.
- Parameters
-
id Destination node
- Returns
- MAC address
void csp_rtable_load | ( | char * | buffer | ) |
Load routing table from a string in the format u/u s u.
- Address
- Netmask
- Ifname
- Mac Address (this field is optional) An example routing string is "0/0 I2C, 8/2 KISS" The string must be \0 null terminated The string must NOT be const.
- Parameters
-
buffer Pointer to string
void csp_rtable_print | ( | void | ) |
Print routing table to stdout.
int csp_rtable_save | ( | char * | buffer, |
int | maxlen | ||
) |
Save routing table as a string to a buffer, which can be parsed again by csp_rtable_load.
- Parameters
-
buffer pointer to buffer maxlen length of buffer
- Returns
- length of saved string
int csp_rtable_set | ( | uint8_t | node, |
uint8_t | mask, | ||
csp_iface_t * | ifc, | ||
uint8_t | mac | ||
) |
Setup routing entry.
- Parameters
-
node Host mask Number of bits in netmask ifc Interface mac MAC address
- Returns
- CSP error type