OpenBSD manual page server

Manual Page Search Parameters

RTABLE_ADD(9) Kernel Developer's Manual RTABLE_ADD(9)

rtable_add, rtable_exists, rtable_loindex, rtable_l2, rtable_l2setrouting tables and routing domains interface

#include <net/rtable.h>

int
rtable_add(unsigned int id);

int
rtable_exists(unsigned int id);

unsigned int
rtable_loindex(unsigned int id);

unsigned int
rtable_l2(unsigned int id);

void
rtable_l2set(unsigned int id, unsigned int rdomain);

Routing tables contain layer 2 and 3 forwarding information. Each address family in use will have its own routing table. Routing domains are a way of logically segmenting a router among multiple networks and may contain more than one routing table.

(unsigned int id)
Add routing table with ID of id to routing domain 0.
(unsigned int id)
Return 1 if routing table with ID id exists, 0 otherwise.
(unsigned int id)
Return the default lo(4) interface index for the routing table with ID of id.
(unsigned int id)
Get the routing domain of routing table with ID of id.
(unsigned int id, unsigned int rdomain)
Place routing table with ID of id under the routing domain with ID of rdomain.

rtable_add(), rtable_exists(), rtable_loindex(), rtable_l2(), and task_l2set() can be called during autoconf, from process context, or from interrupt context.

rtable_add() may fail with:

[ENOMEM]
Memory could not be allocated to extend the list of routing domains.

lo(4), route(4), route(8)

March 26, 2021 OpenBSD-current