summaryrefslogtreecommitdiff
path: root/sys/net/art.h
diff options
context:
space:
mode:
authorMartin Pieuchot <mpi@cvs.openbsd.org>2015-10-07 10:50:36 +0000
committerMartin Pieuchot <mpi@cvs.openbsd.org>2015-10-07 10:50:36 +0000
commit94ece62a44e8baa8868e570371090ecd63084b6e (patch)
treebc5f3754e4a1460f0bda7034e456eee072b9372b /sys/net/art.h
parent68c2f66c0d155e4cfba0392dd4da5e4c3ae9db46 (diff)
Initialize the routing table before domains.
The routing table is not an optional component of the network stack and initializing it inside the "routing domain" requires some ugly introspection in the domain interface. This put the rtable* layer at the same level of the if* level. These two subsystem are organized around the two global data structure used in the network stack: - the global &ifnet list, to be used in process context only, and - the routing table which can be read in interrupt context. This change makes the rtable_* layer domain-aware and extends the "struct domain" such that INET, INET6 and MPLS can specify the length of the binary key used in lookups. This allows us to keep, or move towards, AF-free route and rtable layers. While here stop the madness and pass the size of the maximum key length in *byte* to rn_inithead0(). ok claudio@, mikeb@
Diffstat (limited to 'sys/net/art.h')
-rw-r--r--sys/net/art.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/net/art.h b/sys/net/art.h
index 473de44cea7..0c97e96ef84 100644
--- a/sys/net/art.h
+++ b/sys/net/art.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: art.h,v 1.2 2015/08/20 12:51:10 mpi Exp $ */
+/* $OpenBSD: art.h,v 1.3 2015/10/07 10:50:35 mpi Exp $ */
/*
* Copyright (c) 2015 Martin Pieuchot
@@ -50,7 +50,7 @@ struct art_node {
};
void art_init(void);
-int art_attach(void **, int);
+struct art_root *art_attach(unsigned int, int);
struct art_node *art_insert(struct art_root *, struct art_node *, uint8_t *,
int);
struct art_node *art_delete(struct art_root *, struct art_node *, uint8_t *,