summaryrefslogtreecommitdiffstats
path: root/src/include/usr
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/usr')
-rw-r--r--src/include/usr/route.h23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/include/usr/route.h b/src/include/usr/route.h
index 855fa7ba8..b914f4b84 100644
--- a/src/include/usr/route.h
+++ b/src/include/usr/route.h
@@ -3,12 +3,33 @@
/** @file
*
- * Routing table management
+ * Routing management
*
*/
FILE_LICENCE ( GPL2_OR_LATER );
+#include <ipxe/tables.h>
+
+/** A routing family */
+struct routing_family {
+ /**
+ * Print routes for a network device
+ *
+ * @v netdev Network device
+ */
+ void ( * print ) ( struct net_device *netdev );
+};
+
+/** Routing family table */
+#define ROUTING_FAMILIES __table ( struct routing_family, "routing_families" )
+
+/** Declare a routing family */
+#define __routing_family( order ) __table_entry ( ROUTING_FAMILIES, order )
+
+#define ROUTING_IPV4 01
+#define ROUTING_IPV6 02
+
extern void route ( void );
#endif /* _USR_ROUTE_H */