diff --git a/src/cmdu.h b/src/cmdu.h
index e1b380c9b5a73c219a758961e22b19505ac81351..bc3d757af294c88ea6e23a7afa3f766bbc976b6a 100644
--- a/src/cmdu.h
+++ b/src/cmdu.h
@@ -20,8 +20,8 @@
#include <sys/time.h>
#include <libubox/list.h>
+#include <easy/easy.h>
#include "bufutil.h"
-#include "hlist.h"
/** struct cmdu_header - IEEE-1905 CMDU header */
struct cmdu_header {
diff --git a/src/cmdu_ackq.h b/src/cmdu_ackq.h
index 80d7aa1239fefbf9fd1c909cd391b8dc1bc828e7..6704210e5d956f3a3ef9ab40ffa17acb3160445c 100644
--- a/src/cmdu_ackq.h
+++ b/src/cmdu_ackq.h
@@ -14,7 +14,7 @@
#define CMDU_ACKQ_H
-#include "hlist.h"
+#include <easy/easy.h>
#define CMDU_BACKLOG_MAX 128
diff --git a/src/cmdufrag.h b/src/cmdufrag.h
index c135928063bf60ed9e6ef1fa30397685a008902d..065c15729e268d6955ba66c76c131d1f530945bb 100644
--- a/src/cmdufrag.h
+++ b/src/cmdufrag.h
@@ -19,8 +19,9 @@
#include <sys/time.h>
#include <libubox/list.h>
+#include <easy/easy.h>
+
#include "bufutil.h"
-#include "hlist.h"
#include "cmdu.h"
diff --git a/src/cmduqueue.h b/src/cmduqueue.h
index 1eaec8f77de641abc49484f9c9ad4f37d7c92495..4f7bd54ed7ec05f894f778ef59f340aaafcc70cc 100644
--- a/src/cmduqueue.h
+++ b/src/cmduqueue.h
@@ -18,7 +18,7 @@
#include <sys/time.h>
#include <libubox/list.h>
-#include "hlist.h"
+#include <easy/easy.h>
diff --git a/src/hlist.h b/src/hlist.h
deleted file mode 100644
index 100fca165b2cb496af800ed0e72a1d221cf23173..0000000000000000000000000000000000000000
--- a/src/hlist.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * hlist.h - stripped down version of hash list implementation using
- * singly linked list.
- * Doubly linked list is wastage of space for big hash-tables. If cost of
- * iterating a hash list is significant, it means the hash function is NOT
- * formulated well and should be revisited.
- *
- * Copyright (C) 2021 IOPSYS Software Solutions AB. All rights reserved.
- *
- * Author: anjan.chanda@iopsys.eu
- *
- */
-
-#ifndef _HLIST_H
-#define _HLIST_H
-
-struct hlist_node {
- struct hlist_node *next;
-};
-
-struct hlist_head {
- struct hlist_node *first;
-};
-
-#define HLIST_HEAD_INIT(name) { &(name) }
-
-#define HLIST_HEAD(name) struct hlist_head name = HLIST_HEAD_INIT(name)
-
-static inline void INIT_HLIST_HEAD(struct hlist_head *h)
-{
- h->first = NULL;
-}
-
-static inline void INIT_HLIST_NODE(struct hlist_node *n)
-{
- n->next = NULL;
-}
-
-static inline int hlist_empty(const struct hlist_head *h)
-{
- return !h->first;
-}
-
-static inline void __hlist_del(struct hlist_node *prev, struct hlist_node *n)
-{
- prev->next = n->next;
- n->next = NULL;
-}
-
-static inline void hlist_del(struct hlist_node *n, struct hlist_head *h)
-{
- struct hlist_node *p;
-
- if (h->first == n) {
- h->first = n->next;
- n->next = NULL;
- return;
- }
-
- for (p = h->first; p; p = p->next) {
- if (p->next == n)
- __hlist_del(p, n);
- }
-}
-
-static inline void _hlist_add(struct hlist_node *_new, struct hlist_head *h)
-{
- _new->next = h->first;
- h->first = _new;
-}
-
-static inline void hlist_add_head(struct hlist_node *n, struct hlist_head *h)
-{
- _hlist_add(n, h);
-}
-
-#define hlist_for_each(pos, head) \
- for (pos = (head)->first; pos ; pos = pos->next)
-
-#define hlist_for_each_safe(pos, n, head) \
- for (pos = (head)->first; pos && ({ n = pos->next; 1; }); \
- pos = n)
-
-#define hlist_entry(ptr, type, member) container_of(ptr, type, member)
-
-#define hlist_entry_safe(ptr, type, member) \
- ({ typeof(ptr) ____ptr = (ptr); \
- ____ptr ? hlist_entry(____ptr, type, member) : NULL; \
- })
-
-#define hlist_for_each_entry(pos, head, member) \
- for (pos = hlist_entry_safe((head)->first, typeof(*(pos)), member); \
- pos; \
- pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
-
-#define hlist_for_each_entry_safe(pos, n, head, member) \
- for (pos = hlist_entry_safe((head)->first, typeof(*pos), member); \
- pos && ({ n = pos->member.next; 1; }); \
- pos = hlist_entry_safe(n, typeof(*pos), member))
-
-#endif /* _HLIST_H */
diff --git a/src/neigh.h b/src/neigh.h
index 0724fa6cacf7a0eae739ee0356cce19920346e91..1e2cb6c704aa966f1c7bd3c2159b955542ef1a23 100644
--- a/src/neigh.h
+++ b/src/neigh.h
@@ -12,7 +12,6 @@
#include <easy/easy.h>
-#include "hlist.h"
#define NEIGH_ENTRIES_MAX 128
#define NEIGH_AGEOUT_DEFAULT 60000 /* msecs */