#include <sys/systm.h>
#include <sys/ctype.h>
#include <sys/errno.h>
-/*#include <sys/kdb.h>*/
#include <sys/kernel.h>
#include <sys/ktr.h>
#include <sys/limits.h>
/* Should not be visible outside this file */
-#define _NG_ALLOC_HOOK(hook) \
- hook = kmalloc(sizeof(*hook), M_NETGRAPH_HOOK, \
- M_WAITOK | M_NULLOK | M_ZERO)
-#define _NG_ALLOC_NODE(node) \
- node = kmalloc(sizeof(*node), M_NETGRAPH_NODE, \
- M_WAITOK | M_NULLOK | M_ZERO)
-
#define NG_QUEUE_LOCK_INIT(n) \
mtx_init(&(n)->q_mtx)
#define NG_QUEUE_LOCK(n) \
#define NG_WORKLIST_UNLOCK() \
mtx_unlock(&ng_worklist_mtx)
-#define NG_ALLOC_HOOK(hook) _NG_ALLOC_HOOK(hook)
-#define NG_ALLOC_NODE(node) _NG_ALLOC_NODE(node)
-
#define NG_FREE_HOOK(hook) do { kfree((hook), M_NETGRAPH_HOOK); } while (0)
#define NG_FREE_NODE(node) do { kfree((node), M_NETGRAPH_NODE); } while (0)
}
/* Make a node and try attach it to the type */
- NG_ALLOC_NODE(node);
- if (node == NULL) {
- TRAP_ERROR();
- return (ENOMEM);
- }
+ node = kmalloc(sizeof(*node), M_NETGRAPH_NODE, M_WAITOK | M_ZERO);
node->nd_type = type;
NG_NODE_REF(node); /* note reference */
type->refs++;
}
/* Allocate the hook and link it up */
- NG_ALLOC_HOOK(hook);
- if (hook == NULL) {
- TRAP_ERROR();
- return (ENOMEM);
- }
+ hook = kmalloc(sizeof(*hook), M_NETGRAPH_HOOK, M_WAITOK | M_ZERO);
hook->hk_refs = 1; /* add a reference for us to return */
hook->hk_flags = HK_INVALID;
hook->hk_peer = &ng_deadhook; /* start off this way */
if ((error = ng_add_hook(node, name, &hook))) /* gives us a ref */
return (error);
/* Allocate the other hook and link it up */
- NG_ALLOC_HOOK(hook2);
- if (hook2 == NULL) {
- TRAP_ERROR();
- ng_destroy_hook(hook); /* XXX check ref counts so far */
- NG_HOOK_UNREF(hook); /* including our ref */
- return (ENOMEM);
- }
+ hook2 = kmalloc(sizeof(*hook2), M_NETGRAPH_HOOK, M_WAITOK | M_ZERO);
hook2->hk_refs = 1; /* start with a reference for us. */
hook2->hk_flags = HK_INVALID;
hook2->hk_peer = hook; /* Link the two together */