summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2023-08-02 16:40:41 (GMT)
committerThomas Haller <thaller@redhat.com>2023-08-02 20:20:13 (GMT)
commit298c5dc6df6d47b1488b0025619f1932b3064477 (patch)
treef881456bfe735d2ba9d4b6e517b0981a124d25e9
parent862eed54e3882c64a5017789229b6dc9337ace17 (diff)
downloadlibnl-298c5dc6df6d47b1488b0025619f1932b3064477.zip
libnl-298c5dc6df6d47b1488b0025619f1932b3064477.tar.gz
libnl-298c5dc6df6d47b1488b0025619f1932b3064477.tar.bz2
include: drop "netlink-private/netlink.h" and move declarations
-rw-r--r--Makefile.am1
-rw-r--r--include/base/nl-base-utils.h110
-rw-r--r--include/netlink-private/netlink.h220
-rw-r--r--include/nl-aux-core/nl-core.h16
-rw-r--r--include/nl-priv-dynamic-core/cache-api.h23
-rw-r--r--include/nl-priv-dynamic-core/nl-core.h42
-rw-r--r--lib/addr.c3
-rw-r--r--lib/attr.c3
-rw-r--r--lib/cache.c5
-rw-r--r--lib/cache_mngr.c5
-rw-r--r--lib/cache_mngt.c4
-rw-r--r--lib/data.c4
-rw-r--r--lib/error.c2
-rw-r--r--lib/fib_lookup/lookup.c4
-rw-r--r--lib/fib_lookup/request.c2
-rw-r--r--lib/genl/ctrl.c6
-rw-r--r--lib/genl/family.c1
-rw-r--r--lib/genl/genl.c1
-rw-r--r--lib/genl/nl-genl.h3
-rw-r--r--lib/handlers.c3
-rw-r--r--lib/hashtable.c2
-rw-r--r--lib/idiag/idiag.c2
-rw-r--r--lib/idiag/idiag_meminfo_obj.c2
-rw-r--r--lib/idiag/idiag_msg_obj.c4
-rw-r--r--lib/idiag/idiag_req_obj.c5
-rw-r--r--lib/idiag/idiag_vegasinfo_obj.c2
-rw-r--r--lib/msg.c7
-rw-r--r--lib/netfilter/ct.c3
-rw-r--r--lib/netfilter/ct_obj.c2
-rw-r--r--lib/netfilter/exp.c3
-rw-r--r--lib/netfilter/exp_obj.c2
-rw-r--r--lib/netfilter/log.c3
-rw-r--r--lib/netfilter/log_msg.c3
-rw-r--r--lib/netfilter/log_msg_obj.c3
-rw-r--r--lib/netfilter/log_obj.c4
-rw-r--r--lib/netfilter/netfilter.c2
-rw-r--r--lib/netfilter/nfnl.c4
-rw-r--r--lib/netfilter/queue.c3
-rw-r--r--lib/netfilter/queue_msg.c3
-rw-r--r--lib/netfilter/queue_msg_obj.c4
-rw-r--r--lib/netfilter/queue_obj.c3
-rw-r--r--lib/nl-core.h7
-rw-r--r--lib/nl.c4
-rw-r--r--lib/object.c5
-rw-r--r--lib/route/act.c5
-rw-r--r--lib/route/act/gact.c2
-rw-r--r--lib/route/act/mirred.c2
-rw-r--r--lib/route/act/nat.c2
-rw-r--r--lib/route/act/skbedit.c2
-rw-r--r--lib/route/act/vlan.c2
-rw-r--r--lib/route/addr.c3
-rw-r--r--lib/route/class.c2
-rw-r--r--lib/route/classid.c6
-rw-r--r--lib/route/cls.c4
-rw-r--r--lib/route/cls/basic.c2
-rw-r--r--lib/route/cls/cgroup.c2
-rw-r--r--lib/route/cls/ematch.c3
-rw-r--r--lib/route/cls/ematch/cmp.c2
-rw-r--r--lib/route/cls/ematch/container.c2
-rw-r--r--lib/route/cls/ematch/meta.c2
-rw-r--r--lib/route/cls/ematch/nbyte.c2
-rw-r--r--lib/route/cls/ematch/text.c2
-rw-r--r--lib/route/cls/ematch_grammar.l7
-rw-r--r--lib/route/cls/ematch_syntax.y10
-rw-r--r--lib/route/cls/flower.c4
-rw-r--r--lib/route/cls/fw.c2
-rw-r--r--lib/route/cls/mall.c2
-rw-r--r--lib/route/cls/police.c2
-rw-r--r--lib/route/cls/u32.c2
-rw-r--r--lib/route/link.c5
-rw-r--r--lib/route/link/api.c2
-rw-r--r--lib/route/link/bonding.c2
-rw-r--r--lib/route/link/bridge.c2
-rw-r--r--lib/route/link/bridge_info.c2
-rw-r--r--lib/route/link/can.c2
-rw-r--r--lib/route/link/dummy.c2
-rw-r--r--lib/route/link/geneve.c2
-rw-r--r--lib/route/link/ifb.c2
-rw-r--r--lib/route/link/inet.c4
-rw-r--r--lib/route/link/inet6.c5
-rw-r--r--lib/route/link/ip6gre.c2
-rw-r--r--lib/route/link/ip6tnl.c2
-rw-r--r--lib/route/link/ip6vti.c2
-rw-r--r--lib/route/link/ipgre.c2
-rw-r--r--lib/route/link/ipip.c2
-rw-r--r--lib/route/link/ipvlan.c2
-rw-r--r--lib/route/link/ipvti.c2
-rw-r--r--lib/route/link/link-api.h3
-rw-r--r--lib/route/link/macsec.c2
-rw-r--r--lib/route/link/macvlan.c3
-rw-r--r--lib/route/link/ppp.c2
-rw-r--r--lib/route/link/sit.c2
-rw-r--r--lib/route/link/sriov.c2
-rw-r--r--lib/route/link/team.c2
-rw-r--r--lib/route/link/veth.c2
-rw-r--r--lib/route/link/vlan.c2
-rw-r--r--lib/route/link/vrf.c2
-rw-r--r--lib/route/link/vxlan.c2
-rw-r--r--lib/route/link/xfrmi.c2
-rw-r--r--lib/route/mdb.c4
-rw-r--r--lib/route/neigh.c3
-rw-r--r--lib/route/neightbl.c3
-rw-r--r--lib/route/netconf.c4
-rw-r--r--lib/route/nexthop.c3
-rw-r--r--lib/route/nexthop_encap.c2
-rw-r--r--lib/route/nh.c3
-rw-r--r--lib/route/nh_encap_mpls.c2
-rw-r--r--lib/route/nl-route.h29
-rw-r--r--lib/route/pktloc.c4
-rw-r--r--lib/route/pktloc_grammar.l5
-rw-r--r--lib/route/pktloc_syntax.y3
-rw-r--r--lib/route/qdisc.c2
-rw-r--r--lib/route/qdisc/blackhole.c2
-rw-r--r--lib/route/qdisc/cbq.c2
-rw-r--r--lib/route/qdisc/dsmark.c2
-rw-r--r--lib/route/qdisc/fifo.c2
-rw-r--r--lib/route/qdisc/fq_codel.c2
-rw-r--r--lib/route/qdisc/hfsc.c2
-rw-r--r--lib/route/qdisc/htb.c2
-rw-r--r--lib/route/qdisc/ingress.c2
-rw-r--r--lib/route/qdisc/mqprio.c2
-rw-r--r--lib/route/qdisc/netem.c2
-rw-r--r--lib/route/qdisc/plug.c2
-rw-r--r--lib/route/qdisc/prio.c2
-rw-r--r--lib/route/qdisc/red.c2
-rw-r--r--lib/route/qdisc/sfq.c2
-rw-r--r--lib/route/qdisc/tbf.c2
-rw-r--r--lib/route/route.c4
-rw-r--r--lib/route/route_obj.c2
-rw-r--r--lib/route/route_utils.c2
-rw-r--r--lib/route/rtnl.c2
-rw-r--r--lib/route/rule.c3
-rw-r--r--lib/route/tc-api.h1
-rw-r--r--lib/route/tc.c6
-rw-r--r--lib/socket.c10
-rw-r--r--lib/utils.c12
-rw-r--r--lib/xfrm/ae.c4
-rw-r--r--lib/xfrm/lifetime.c2
-rw-r--r--lib/xfrm/sa.c4
-rw-r--r--lib/xfrm/selector.c2
-rw-r--r--lib/xfrm/sp.c4
-rw-r--r--lib/xfrm/template.c3
-rw-r--r--src/nl-list-caches.c3
-rw-r--r--tests/test-create-ip6tnl.c2
-rw-r--r--tests/test-create-ipgre.c2
-rw-r--r--tests/test-create-ipgretap.c2
-rw-r--r--tests/test-create-ipip.c2
-rw-r--r--tests/test-create-ipvti.c2
-rw-r--r--tests/test-create-sit.c2
-rw-r--r--tests/test-create-xfrmi.c2
-rw-r--r--tests/test-genl.c2
-rwxr-xr-xtools/clang-format.sh1
152 files changed, 347 insertions, 517 deletions
diff --git a/Makefile.am b/Makefile.am
index 0d11ed8..1e2d1a8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -271,7 +271,6 @@ noinst_HEADERS = \
include/linux-private/linux/tc_ematch/tc_em_meta.h \
include/linux-private/linux/veth.h \
include/linux-private/linux/xfrm.h \
- include/netlink-private/netlink.h \
include/nl-aux-core/nl-core.h \
include/nl-aux-route/nl-route.h \
include/nl-default.h \
diff --git a/include/base/nl-base-utils.h b/include/base/nl-base-utils.h
index e02b5f4..4e7ad7a 100644
--- a/include/base/nl-base-utils.h
+++ b/include/base/nl-base-utils.h
@@ -8,6 +8,9 @@
#include <byteswap.h>
#include <stdlib.h>
+#include <stdarg.h>
+#include <limits.h>
+#include <inttypes.h>
#include <assert.h>
#include <unistd.h>
#include <errno.h>
@@ -17,6 +20,12 @@
#include <netinet/in.h>
#include <arpa/inet.h>
+#ifndef DISABLE_PTHREADS
+#include <pthread.h>
+#endif
+
+/*****************************************************************************/
+
#if __BYTE_ORDER == __BIG_ENDIAN
#define ntohll(x) (x)
#elif __BYTE_ORDER == __LITTLE_ENDIAN
@@ -178,9 +187,14 @@
#define _NL_N_ELEMENTS(arr) (sizeof(arr) / sizeof((arr)[0]))
+#define ARRAY_SIZE(arr) _NL_N_ELEMENTS(arr)
+
/*****************************************************************************/
-extern const char *nl_strerror_l(int err);
+/* This is also defined in stddef.h */
+#ifndef offsetof
+#define offsetof(TYPE, MEMBER) ((size_t) & ((TYPE *)0)->MEMBER)
+#endif
/*****************************************************************************/
@@ -713,4 +727,98 @@ static inline char *_nl_inet_ntop_dup(int addr_family, const void *addr)
#define _nl_auto_free _nl_auto(_nl_auto_free_fcn)
_NL_AUTO_DEFINE_FCN_VOID0(void *, _nl_auto_free_fcn, free);
+/*****************************************************************************/
+
+#define NSEC_PER_SEC 1000000000L
+
+struct trans_tbl {
+ uint64_t i;
+ const char *a;
+};
+
+#define __ADD(id, name) \
+ { \
+ .i = id, .a = #name \
+ }
+
+#define BUG() \
+ do { \
+ fprintf(stderr, "BUG at file position %s:%d:%s\n", __FILE__, \
+ __LINE__, __func__); \
+ assert(0); \
+ } while (0)
+
+#define BUG_ON(condition) \
+ do { \
+ if (condition) \
+ BUG(); \
+ } while (0)
+
+#define APPBUG(msg) \
+ do { \
+ fprintf(stderr, "APPLICATION BUG: %s:%d:%s: %s\n", __FILE__, \
+ __LINE__, __func__, msg); \
+ assert(0); \
+ } while (0)
+
+/*****************************************************************************/
+
+#ifndef DISABLE_PTHREADS
+#define NL_LOCK(NAME) pthread_mutex_t(NAME) = PTHREAD_MUTEX_INITIALIZER
+#define NL_RW_LOCK(NAME) pthread_rwlock_t(NAME) = PTHREAD_RWLOCK_INITIALIZER
+
+static inline void nl_lock(pthread_mutex_t *lock)
+{
+ pthread_mutex_lock(lock);
+}
+
+static inline void nl_unlock(pthread_mutex_t *lock)
+{
+ pthread_mutex_unlock(lock);
+}
+
+static inline void nl_read_lock(pthread_rwlock_t *lock)
+{
+ pthread_rwlock_rdlock(lock);
+}
+
+static inline void nl_read_unlock(pthread_rwlock_t *lock)
+{
+ pthread_rwlock_unlock(lock);
+}
+
+static inline void nl_write_lock(pthread_rwlock_t *lock)
+{
+ pthread_rwlock_wrlock(lock);
+}
+
+static inline void nl_write_unlock(pthread_rwlock_t *lock)
+{
+ pthread_rwlock_unlock(lock);
+}
+
+#else
+#define NL_LOCK(NAME) int __unused_lock_##NAME __attribute__((unused))
+#define NL_RW_LOCK(NAME) int __unused_lock_##NAME __attribute__((unused))
+
+#define nl_lock(LOCK) \
+ do { \
+ } while (0)
+#define nl_unlock(LOCK) \
+ do { \
+ } while (0)
+#define nl_read_lock(LOCK) \
+ do { \
+ } while (0)
+#define nl_read_unlock(LOCK) \
+ do { \
+ } while (0)
+#define nl_write_lock(LOCK) \
+ do { \
+ } while (0)
+#define nl_write_unlock(LOCK) \
+ do { \
+ } while (0)
+#endif
+
#endif /* __NETLINK_BASE_NL_BASE_UTILS_H__ */
diff --git a/include/netlink-private/netlink.h b/include/netlink-private/netlink.h
deleted file mode 100644
index cc67841..0000000
--- a/include/netlink-private/netlink.h
+++ /dev/null
@@ -1,220 +0,0 @@
-/* SPDX-License-Identifier: LGPL-2.1-only */
-/*
- * Copyright (c) 2003-2013 Thomas Graf <tgraf@suug.ch>
- */
-
-#ifndef NETLINK_LOCAL_H_
-#define NETLINK_LOCAL_H_
-
-#include "nl-default.h"
-
-#include <stdio.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <time.h>
-#include <stdarg.h>
-#include <ctype.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/socket.h>
-#include <inttypes.h>
-#include <assert.h>
-#include <limits.h>
-#include <search.h>
-
-#include <arpa/inet.h>
-#include <netdb.h>
-
-#ifndef SOL_NETLINK
-#define SOL_NETLINK 270
-#endif
-
-#include <linux/types.h>
-
-/* local header copies */
-#include <linux/if.h>
-#include <linux/if_arp.h>
-#include <linux/if_ether.h>
-#include <linux/ethtool.h>
-#include <linux/pkt_sched.h>
-#include <linux/pkt_cls.h>
-#include <linux/gen_stats.h>
-#include <linux/atm.h>
-#include <linux/ip.h>
-#include <linux/ipv6.h>
-#include <linux/snmp.h>
-#include <linux/xfrm.h>
-
-#ifndef DISABLE_PTHREADS
-#include <pthread.h>
-#endif
-
-#include "base/nl-base-utils.h"
-
-#include <netlink/netlink.h>
-#include <netlink/handlers.h>
-#include <netlink/cache.h>
-#include <netlink/route/tc.h>
-
-#include "nl-priv-dynamic-core/cache-api.h"
-#include "nl-aux-core/nl-core.h"
-
-#define NSEC_PER_SEC 1000000000L
-
-struct trans_tbl {
- uint64_t i;
- const char *a;
-};
-
-#define __ADD(id, name) { .i = id, .a = #name }
-
-struct trans_list {
- int i;
- char *a;
- struct nl_list_head list;
-};
-
-#ifdef NL_DEBUG
-#define NL_DBG(LVL,FMT,ARG...) \
- do { \
- if (LVL <= nl_debug) { \
- int _errsv = errno; \
- fprintf(stderr, \
- "DBG<" #LVL ">%20s:%-4u %s: " FMT, \
- __FILE__, __LINE__, \
- __func__, ##ARG); \
- errno = _errsv; \
- } \
- } while (0)
-#else /* NL_DEBUG */
-#define NL_DBG(LVL,FMT,ARG...) do { } while(0)
-#endif /* NL_DEBUG */
-
-#define BUG() \
- do { \
- fprintf(stderr, "BUG at file position %s:%d:%s\n", \
- __FILE__, __LINE__, __func__); \
- assert(0); \
- } while (0)
-
-#define BUG_ON(condition) \
- do { \
- if (condition) \
- BUG(); \
- } while (0)
-
-
-#define APPBUG(msg) \
- do { \
- fprintf(stderr, "APPLICATION BUG: %s:%d:%s: %s\n", \
- __FILE__, __LINE__, __func__, msg); \
- assert(0); \
- } while(0)
-
-extern int __nl_read_num_str_file(const char *path,
- int (*cb)(long, const char *));
-
-extern int __trans_list_add(int, const char *, struct nl_list_head *);
-extern void __trans_list_clear(struct nl_list_head *);
-
-extern char *__type2str(int, char *, size_t, const struct trans_tbl *, size_t);
-extern int __str2type(const char *, const struct trans_tbl *, size_t);
-
-extern char *__list_type2str(int, char *, size_t, struct nl_list_head *);
-extern int __list_str2type(const char *, struct nl_list_head *);
-
-extern char *__flags2str(int, char *, size_t, const struct trans_tbl *, size_t);
-extern int __str2flags(const char *, const struct trans_tbl *, size_t);
-
-extern void dump_from_ops(struct nl_object *, struct nl_dump_params *);
-extern struct rtnl_link *link_lookup(struct nl_cache *cache, int ifindex);
-
-#define ARRAY_SIZE(X) (sizeof(X) / sizeof((X)[0]))
-
-/* This is also defined in stddef.h */
-#ifndef offsetof
-#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
-#endif
-
-extern int nl_cache_parse(struct nl_cache_ops *, struct sockaddr_nl *,
- struct nlmsghdr *, struct nl_parser_param *);
-
-
-#define GENL_FAMILY(id, name) \
- { \
- { id, NL_ACT_UNSPEC, name }, \
- END_OF_MSGTYPES_LIST, \
- }
-
-static inline int build_sysconf_path(char **strp, const char *filename)
-{
- char *sysconfdir;
-
- sysconfdir = getenv("NLSYSCONFDIR");
-
- if (!sysconfdir)
- sysconfdir = SYSCONFDIR;
-
- return asprintf(strp, "%s/%s", sysconfdir, filename);
-}
-
-#ifndef DISABLE_PTHREADS
-#define NL_LOCK(NAME) pthread_mutex_t (NAME) = PTHREAD_MUTEX_INITIALIZER
-#define NL_RW_LOCK(NAME) pthread_rwlock_t (NAME) = PTHREAD_RWLOCK_INITIALIZER
-
-static inline void nl_lock(pthread_mutex_t *lock)
-{
- pthread_mutex_lock(lock);
-}
-
-static inline void nl_unlock(pthread_mutex_t *lock)
-{
- pthread_mutex_unlock(lock);
-}
-
-static inline void nl_read_lock(pthread_rwlock_t *lock)
-{
- pthread_rwlock_rdlock(lock);
-}
-
-static inline void nl_read_unlock(pthread_rwlock_t *lock)
-{
- pthread_rwlock_unlock(lock);
-}
-
-static inline void nl_write_lock(pthread_rwlock_t *lock)
-{
- pthread_rwlock_wrlock(lock);
-}
-
-static inline void nl_write_unlock(pthread_rwlock_t *lock)
-{
- pthread_rwlock_unlock(lock);
-}
-
-#else
-#define NL_LOCK(NAME) int __unused_lock_ ##NAME __attribute__((unused))
-#define NL_RW_LOCK(NAME) int __unused_lock_ ##NAME __attribute__((unused))
-
-#define nl_lock(LOCK) do { } while(0)
-#define nl_unlock(LOCK) do { } while(0)
-#define nl_read_lock(LOCK) do { } while(0)
-#define nl_read_unlock(LOCK) do { } while(0)
-#define nl_write_lock(LOCK) do { } while(0)
-#define nl_write_unlock(LOCK) do { } while(0)
-#endif
-
-static inline int rtnl_tc_calc_txtime64(int bufsize, uint64_t rate)
-{
- return ((double) bufsize / (double) rate) * 1000000.0;
-}
-
-static inline int rtnl_tc_calc_bufsize64(int txtime, uint64_t rate)
-{
- return ((double) txtime * (double) rate) / 1000000.0;
-}
-
-#endif
diff --git a/include/nl-aux-core/nl-core.h b/include/nl-aux-core/nl-core.h
index 1a02aaa..c336e34 100644
--- a/include/nl-aux-core/nl-core.h
+++ b/include/nl-aux-core/nl-core.h
@@ -5,6 +5,22 @@
#include "base/nl-base-utils.h"
+#ifdef NL_DEBUG
+#define NL_DBG(LVL, FMT, ARG...) \
+ do { \
+ if (LVL <= nl_debug) { \
+ int _errsv = errno; \
+ fprintf(stderr, "DBG<" #LVL ">%20s:%-4u %s: " FMT, \
+ __FILE__, __LINE__, __func__, ##ARG); \
+ errno = _errsv; \
+ } \
+ } while (0)
+#else /* NL_DEBUG */
+#define NL_DBG(LVL, FMT, ARG...) \
+ do { \
+ } while (0)
+#endif /* NL_DEBUG */
+
struct nl_addr;
void nl_addr_put(struct nl_addr *);
#define _nl_auto_nl_addr _nl_auto(_nl_auto_nl_addr_fcn)
diff --git a/include/nl-priv-dynamic-core/cache-api.h b/include/nl-priv-dynamic-core/cache-api.h
index 38662b7..6491651 100644
--- a/include/nl-priv-dynamic-core/cache-api.h
+++ b/include/nl-priv-dynamic-core/cache-api.h
@@ -258,6 +258,29 @@ struct nl_cache_ops
/** @} */
+struct nl_cache {
+ struct nl_list_head c_items;
+ int c_nitems;
+ int c_iarg1;
+ int c_iarg2;
+ int c_refcnt;
+ unsigned int c_flags;
+ struct nl_hash_table *hashtable;
+ struct nl_cache_ops *c_ops;
+};
+
+static inline const char *nl_cache_name(struct nl_cache *cache)
+{
+ return cache->c_ops ? cache->c_ops->co_name : "unknown";
+}
+
+struct nl_cache_assoc {
+ struct nl_cache *ca_cache;
+ change_func_t ca_change;
+ change_func_v2_t ca_change_v2;
+ void *ca_change_data;
+};
+
#ifdef __cplusplus
}
#endif
diff --git a/include/nl-priv-dynamic-core/nl-core.h b/include/nl-priv-dynamic-core/nl-core.h
index d4866b2..d7bec85 100644
--- a/include/nl-priv-dynamic-core/nl-core.h
+++ b/include/nl-priv-dynamic-core/nl-core.h
@@ -32,29 +32,6 @@ static inline int wait_for_ack(struct nl_sock *sk)
return nl_wait_for_ack(sk);
}
-struct nl_cache {
- struct nl_list_head c_items;
- int c_nitems;
- int c_iarg1;
- int c_iarg2;
- int c_refcnt;
- unsigned int c_flags;
- struct nl_hash_table *hashtable;
- struct nl_cache_ops *c_ops;
-};
-
-static inline const char *nl_cache_name(struct nl_cache *cache)
-{
- return cache->c_ops ? cache->c_ops->co_name : "unknown";
-}
-
-struct nl_cache_assoc {
- struct nl_cache *ca_cache;
- change_func_t ca_change;
- change_func_v2_t ca_change_v2;
- void *ca_change_data;
-};
-
#define LOOSE_COMPARISON 1
#define ID_COMPARISON 2
@@ -87,4 +64,23 @@ struct nl_msg {
int nm_refcnt;
};
+/*****************************************************************************/
+
+extern const char *nl_strerror_l(int err);
+
+extern int __nl_read_num_str_file(const char *path,
+ int (*cb)(long, const char *));
+
+extern int __trans_list_add(int, const char *, struct nl_list_head *);
+extern void __trans_list_clear(struct nl_list_head *);
+
+extern char *__type2str(int, char *, size_t, const struct trans_tbl *, size_t);
+extern int __str2type(const char *, const struct trans_tbl *, size_t);
+
+extern char *__list_type2str(int, char *, size_t, struct nl_list_head *);
+extern int __list_str2type(const char *, struct nl_list_head *);
+
+extern char *__flags2str(int, char *, size_t, const struct trans_tbl *, size_t);
+extern int __str2flags(const char *, const struct trans_tbl *, size_t);
+
#endif /* __NL_SHARED_CORE_NL_CORE_H__ */
diff --git a/lib/addr.c b/lib/addr.c
index 0d54a80..34f5633 100644
--- a/lib/addr.c
+++ b/lib/addr.c
@@ -28,8 +28,7 @@
#include <netlink/netlink.h>
#include <netlink/utils.h>
#include <netlink/addr.h>
-
-#include <netlink-private/netlink.h>
+#include <netlink/attr.h>
#include "mpls.h"
#include "nl-priv-dynamic-core/nl-core.h"
diff --git a/lib/attr.c b/lib/attr.c
index f030527..b8b9837 100644
--- a/lib/attr.c
+++ b/lib/attr.c
@@ -13,9 +13,8 @@
#include <netlink/attr.h>
#include <netlink/msg.h>
-#include <netlink-private/netlink.h>
-
#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-aux-core/nl-core.h"
/**
* @ingroup msg
diff --git a/lib/cache.c b/lib/cache.c
index b62ca58..dd059c1 100644
--- a/lib/cache.c
+++ b/lib/cache.c
@@ -51,10 +51,11 @@
#include <netlink/hashtable.h>
#include <netlink/utils.h>
-#include <netlink-private/netlink.h>
-
+#include "nl-core.h"
#include "nl-priv-dynamic-core/nl-core.h"
#include "nl-priv-dynamic-core/object-api.h"
+#include "nl-priv-dynamic-core/cache-api.h"
+#include "nl-aux-core/nl-core.h"
/**
* @name Access Functions
diff --git a/lib/cache_mngr.c b/lib/cache_mngr.c
index 4323f38..f16882f 100644
--- a/lib/cache_mngr.c
+++ b/lib/cache_mngr.c
@@ -32,9 +32,10 @@
#include <netlink/cache.h>
#include <netlink/utils.h>
-#include <netlink-private/netlink.h>
-
+#include "nl-core.h"
#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-priv-dynamic-core/cache-api.h"
+#include "nl-aux-core/nl-core.h"
/** @cond SKIP */
struct nl_cache_mngr
diff --git a/lib/cache_mngt.c b/lib/cache_mngt.c
index 20971d9..7969d35 100644
--- a/lib/cache_mngt.c
+++ b/lib/cache_mngt.c
@@ -25,10 +25,10 @@
#include <netlink/cache.h>
#include <netlink/utils.h>
-#include <netlink-private/netlink.h>
-
#include "nl-priv-dynamic-core/nl-core.h"
#include "nl-priv-dynamic-core/object-api.h"
+#include "nl-priv-dynamic-core/cache-api.h"
+#include "nl-aux-core/nl-core.h"
static struct nl_cache_ops *cache_ops;
static NL_RW_LOCK(cache_ops_lock);
diff --git a/lib/data.c b/lib/data.c
index 83b114e..1052578 100644
--- a/lib/data.c
+++ b/lib/data.c
@@ -26,10 +26,10 @@
#include <linux/socket.h>
#include <netlink/netlink.h>
+#include <netlink/data.h>
+#include <netlink/attr.h>
#include <netlink/utils.h>
-#include <netlink-private/netlink.h>
-
#include "nl-priv-dynamic-core/nl-core.h"
/**
diff --git a/lib/error.c b/lib/error.c
index d1a448a..9b6d806 100644
--- a/lib/error.c
+++ b/lib/error.c
@@ -7,8 +7,6 @@
#include <netlink/netlink.h>
-#include <netlink-private/netlink.h>
-
static const char *errmsg[NLE_MAX+1] = {
[NLE_SUCCESS] = "Success",
[NLE_FAILURE] = "Unspecific failure",
diff --git a/lib/fib_lookup/lookup.c b/lib/fib_lookup/lookup.c
index ca0933c..7ff2684 100644
--- a/lib/fib_lookup/lookup.c
+++ b/lib/fib_lookup/lookup.c
@@ -21,9 +21,9 @@
#include <netlink/fib_lookup/request.h>
#include <netlink/fib_lookup/lookup.h>
-#include <netlink-private/netlink.h>
-
#include "nl-priv-dynamic-core/object-api.h"
+#include "nl-priv-dynamic-core/cache-api.h"
+#include "nl-priv-dynamic-core/nl-core.h"
/** @cond SKIP */
struct flnl_result
diff --git a/lib/fib_lookup/request.c b/lib/fib_lookup/request.c
index f61fdd2..81b7ba2 100644
--- a/lib/fib_lookup/request.c
+++ b/lib/fib_lookup/request.c
@@ -18,8 +18,6 @@
#include <netlink/object.h>
#include <netlink/fib_lookup/request.h>
-#include <netlink-private/netlink.h>
-
#include "nl-priv-dynamic-core/nl-core.h"
#include "nl-priv-dynamic-core/object-api.h"
diff --git a/lib/genl/ctrl.c b/lib/genl/ctrl.c
index a4ae3d1..1747076 100644
--- a/lib/genl/ctrl.c
+++ b/lib/genl/ctrl.c
@@ -522,6 +522,12 @@ static struct genl_ops genl_ops = {
extern struct nl_object_ops genl_family_ops;
+#define GENL_FAMILY(id, name) \
+ { \
+ { id, NL_ACT_UNSPEC, name }, \
+ END_OF_MSGTYPES_LIST, \
+ }
+
static struct nl_cache_ops genl_ctrl_ops = {
.co_name = "genl/family",
.co_hdrsize = GENL_HDRSIZE(0),
diff --git a/lib/genl/family.c b/lib/genl/family.c
index ac648e5..1749472 100644
--- a/lib/genl/family.c
+++ b/lib/genl/family.c
@@ -21,6 +21,7 @@
#include "nl-genl.h"
#include "nl-priv-dynamic-core/object-api.h"
+#include "nl-priv-dynamic-core/nl-core.h"
/** @cond SKIP */
struct genl_family_op
diff --git a/lib/genl/genl.c b/lib/genl/genl.c
index 769c1e3..2e52aae 100644
--- a/lib/genl/genl.c
+++ b/lib/genl/genl.c
@@ -16,6 +16,7 @@
#include <netlink/utils.h>
#include "nl-genl.h"
+#include "nl-aux-core/nl-core.h"
/**
* @name Generic Netlink Socket
diff --git a/lib/genl/nl-genl.h b/lib/genl/nl-genl.h
index b249e44..2ad7cd0 100644
--- a/lib/genl/nl-genl.h
+++ b/lib/genl/nl-genl.h
@@ -8,9 +8,8 @@
#include <netlink/netlink.h>
-#include <netlink-private/netlink.h>
-
#include "nl-priv-dynamic-core/object-api.h"
+#include "nl-priv-dynamic-core/cache-api.h"
#define GENL_HDRSIZE(hdrlen) (GENL_HDRLEN + (hdrlen))
diff --git a/lib/handlers.c b/lib/handlers.c
index d921b3f..14dffba 100644
--- a/lib/handlers.c
+++ b/lib/handlers.c
@@ -26,9 +26,8 @@
#include <netlink/msg.h>
#include <netlink/handlers.h>
-#include <netlink-private/netlink.h>
-
#include "nl-core.h"
+#include "nl-priv-dynamic-core/nl-core.h"
static void print_header_content(FILE *ofd, struct nlmsghdr *n)
{
diff --git a/lib/hashtable.c b/lib/hashtable.c
index f6d49be..17df838 100644
--- a/lib/hashtable.c
+++ b/lib/hashtable.c
@@ -11,7 +11,7 @@
#include <netlink/hash.h>
#include <netlink/hashtable.h>
-#include <netlink-private/netlink.h>
+#include "nl-aux-core/nl-core.h"
/**
* @ingroup core_types
diff --git a/lib/idiag/idiag.c b/lib/idiag/idiag.c
index 69a650e..4f5d9f9 100644
--- a/lib/idiag/idiag.c
+++ b/lib/idiag/idiag.c
@@ -17,7 +17,7 @@
#include <netlink/cache.h>
#include <netlink/idiag/idiagnl.h>
-#include <netlink-private/netlink.h>
+#include "nl-priv-dynamic-core/nl-core.h"
/**
* @name Socket Creation
diff --git a/lib/idiag/idiag_meminfo_obj.c b/lib/idiag/idiag_meminfo_obj.c
index 795f3be..ebb9767 100644
--- a/lib/idiag/idiag_meminfo_obj.c
+++ b/lib/idiag/idiag_meminfo_obj.c
@@ -7,8 +7,6 @@
#include <netlink/idiag/meminfo.h>
-#include <netlink-private/netlink.h>
-
#include "nl-idiag.h"
/**
diff --git a/lib/idiag/idiag_msg_obj.c b/lib/idiag/idiag_msg_obj.c
index 003ffd4..2c78eb1 100644
--- a/lib/idiag/idiag_msg_obj.c
+++ b/lib/idiag/idiag_msg_obj.c
@@ -13,10 +13,10 @@
#include <netlink/idiag/vegasinfo.h>
#include <netlink/idiag/idiagnl.h>
-#include <netlink-private/netlink.h>
-
#include "nl-idiag.h"
#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-aux-core/nl-core.h"
+#include "nl-priv-dynamic-core/cache-api.h"
/** @cond SKIP */
struct idiagnl_msg {
diff --git a/lib/idiag/idiag_req_obj.c b/lib/idiag/idiag_req_obj.c
index 9a89ace..cc23a80 100644
--- a/lib/idiag/idiag_req_obj.c
+++ b/lib/idiag/idiag_req_obj.c
@@ -9,8 +9,9 @@
#include <netlink/idiag/req.h>
#include <netlink/idiag/idiagnl.h>
-
-#include <netlink-private/netlink.h>
+#include <netlink/data.h>
+#include <netlink/addr.h>
+#include <netlink/msg.h>
#include "nl-priv-dynamic-core/object-api.h"
diff --git a/lib/idiag/idiag_vegasinfo_obj.c b/lib/idiag/idiag_vegasinfo_obj.c
index 0104eb5..f9e9408 100644
--- a/lib/idiag/idiag_vegasinfo_obj.c
+++ b/lib/idiag/idiag_vegasinfo_obj.c
@@ -7,8 +7,6 @@
#include <netlink/idiag/vegasinfo.h>
-#include <netlink-private/netlink.h>
-
#include "nl-idiag.h"
/**
diff --git a/lib/msg.c b/lib/msg.c
index 8f7259d..0e1592a 100644
--- a/lib/msg.c
+++ b/lib/msg.c
@@ -22,6 +22,8 @@
#include "nl-default.h"
+#include <ctype.h>
+
#include <linux/socket.h>
#include <netlink/netlink.h>
@@ -29,9 +31,10 @@
#include <netlink/cache.h>
#include <netlink/attr.h>
-#include <netlink-private/netlink.h>
-
+#include "nl-core.h"
#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-priv-dynamic-core/cache-api.h"
+#include "nl-aux-core/nl-core.h"
static size_t default_msg_size;
diff --git a/lib/netfilter/ct.c b/lib/netfilter/ct.c
index 5552a82..97d8104 100644
--- a/lib/netfilter/ct.c
+++ b/lib/netfilter/ct.c
@@ -24,10 +24,9 @@
#include <netlink/netfilter/nfnl.h>
#include <netlink/netfilter/ct.h>
-#include <netlink-private/netlink.h>
-
#include "nl-netfilter.h"
#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-priv-dynamic-core/cache-api.h"
static struct nl_cache_ops nfnl_ct_ops;
diff --git a/lib/netfilter/ct_obj.c b/lib/netfilter/ct_obj.c
index 4fdab31..5a26a91 100644
--- a/lib/netfilter/ct_obj.c
+++ b/lib/netfilter/ct_obj.c
@@ -16,8 +16,6 @@
#include <netlink/netfilter/nfnl.h>
#include <netlink/netfilter/ct.h>
-#include <netlink-private/netlink.h>
-
#include "nl-priv-dynamic-core/object-api.h"
#include "nl-netfilter.h"
#include "nl-priv-dynamic-core/nl-core.h"
diff --git a/lib/netfilter/exp.c b/lib/netfilter/exp.c
index b5637af..922fda9 100644
--- a/lib/netfilter/exp.c
+++ b/lib/netfilter/exp.c
@@ -25,10 +25,9 @@
#include <netlink/netfilter/nfnl.h>
#include <netlink/netfilter/exp.h>
-#include <netlink-private/netlink.h>
-
#include "nl-netfilter.h"
#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-priv-dynamic-core/cache-api.h"
static struct nl_cache_ops nfnl_exp_ops;
diff --git a/lib/netfilter/exp_obj.c b/lib/netfilter/exp_obj.c
index cd9b4d6..db85b88 100644
--- a/lib/netfilter/exp_obj.c
+++ b/lib/netfilter/exp_obj.c
@@ -18,8 +18,6 @@
#include <netlink/netfilter/nfnl.h>
#include <netlink/netfilter/exp.h>
-#include <netlink-private/netlink.h>
-
#include "nl-priv-dynamic-core/object-api.h"
#include "nl-netfilter.h"
#include "nl-priv-dynamic-core/nl-core.h"
diff --git a/lib/netfilter/log.c b/lib/netfilter/log.c
index c51efba..cbbd8d1 100644
--- a/lib/netfilter/log.c
+++ b/lib/netfilter/log.c
@@ -21,9 +21,8 @@
#include <netlink/netfilter/nfnl.h>
#include <netlink/netfilter/log.h>
-#include <netlink-private/netlink.h>
-
#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-priv-dynamic-core/cache-api.h"
/**
* @name Log Commands
diff --git a/lib/netfilter/log_msg.c b/lib/netfilter/log_msg.c
index 558a081..2ddc06a 100644
--- a/lib/netfilter/log_msg.c
+++ b/lib/netfilter/log_msg.c
@@ -23,9 +23,8 @@
#include <netlink/netfilter/nfnl.h>
#include <netlink/netfilter/log_msg.h>
-#include <netlink-private/netlink.h>
-
#include "nl-netfilter.h"
+#include "nl-priv-dynamic-core/cache-api.h"
static struct nla_policy log_msg_policy[NFULA_MAX+1] = {
[NFULA_PACKET_HDR] = {
diff --git a/lib/netfilter/log_msg_obj.c b/lib/netfilter/log_msg_obj.c
index 4790c02..6b6ff07 100644
--- a/lib/netfilter/log_msg_obj.c
+++ b/lib/netfilter/log_msg_obj.c
@@ -11,8 +11,7 @@
#include <netlink/netfilter/netfilter.h>
#include <netlink/netfilter/log_msg.h>
#include <netlink/netfilter/ct.h>
-
-#include <netlink-private/netlink.h>
+#include <netlink/route/link.h>
#include "nl-priv-dynamic-core/object-api.h"
#include "nl-netfilter.h"
diff --git a/lib/netfilter/log_obj.c b/lib/netfilter/log_obj.c
index 2b74d99..acfe58b 100644
--- a/lib/netfilter/log_obj.c
+++ b/lib/netfilter/log_obj.c
@@ -11,9 +11,9 @@
#include <netlink/netfilter/nfnl.h>
#include <netlink/netfilter/log.h>
-#include <netlink-private/netlink.h>
-
#include "nl-priv-dynamic-core/object-api.h"
+#include "nl-priv-dynamic-core/cache-api.h"
+#include "nl-priv-dynamic-core/nl-core.h"
/** @cond SKIP */
struct nfnl_log {
diff --git a/lib/netfilter/netfilter.c b/lib/netfilter/netfilter.c
index 908c700..b8a5d2a 100644
--- a/lib/netfilter/netfilter.c
+++ b/lib/netfilter/netfilter.c
@@ -9,7 +9,7 @@
#include <netlink/netfilter/netfilter.h>
-#include <netlink-private/netlink.h>
+#include "nl-priv-dynamic-core/nl-core.h"
static const struct trans_tbl nfnl_verdicts[] = {
__ADD(NF_DROP, NF_DROP),
diff --git a/lib/netfilter/nfnl.c b/lib/netfilter/nfnl.c
index 6311329..c70827b 100644
--- a/lib/netfilter/nfnl.c
+++ b/lib/netfilter/nfnl.c
@@ -61,8 +61,10 @@
#include <netlink/netlink.h>
#include <netlink/netfilter/nfnl.h>
+#include <netlink/data.h>
+#include <netlink/msg.h>
-#include <netlink-private/netlink.h>
+#include "nl-aux-core/nl-core.h"
/**
* @name Socket Creating
diff --git a/lib/netfilter/queue.c b/lib/netfilter/queue.c
index 962f7d2..b780b0f 100644
--- a/lib/netfilter/queue.c
+++ b/lib/netfilter/queue.c
@@ -20,9 +20,8 @@
#include <netlink/netfilter/nfnl.h>
#include <netlink/netfilter/queue.h>
-#include <netlink-private/netlink.h>
-
#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-priv-dynamic-core/cache-api.h"
struct nl_sock *nfnl_queue_socket_alloc(void)
{
diff --git a/lib/netfilter/queue_msg.c b/lib/netfilter/queue_msg.c
index a50de92..413d180 100644
--- a/lib/netfilter/queue_msg.c
+++ b/lib/netfilter/queue_msg.c
@@ -21,10 +21,9 @@
#include <netlink/netfilter/nfnl.h>
#include <netlink/netfilter/queue_msg.h>
-#include <netlink-private/netlink.h>
-
#include "nl-netfilter.h"
#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-priv-dynamic-core/cache-api.h"
static struct nl_cache_ops nfnl_queue_msg_ops;
diff --git a/lib/netfilter/queue_msg_obj.c b/lib/netfilter/queue_msg_obj.c
index ea4e3c0..000669b 100644
--- a/lib/netfilter/queue_msg_obj.c
+++ b/lib/netfilter/queue_msg_obj.c
@@ -10,10 +10,10 @@
#include <netlink/netfilter/nfnl.h>
#include <netlink/netfilter/netfilter.h>
#include <netlink/netfilter/queue_msg.h>
-
-#include <netlink-private/netlink.h>
+#include <netlink/route/link.h>
#include "nl-netfilter.h"
+#include "nl-priv-dynamic-core/nl-core.h"
/** @cond SKIP */
#define QUEUE_MSG_ATTR_GROUP (1UL << 0)
diff --git a/lib/netfilter/queue_obj.c b/lib/netfilter/queue_obj.c
index 5ddb5a5..a6b08a2 100644
--- a/lib/netfilter/queue_obj.c
+++ b/lib/netfilter/queue_obj.c
@@ -15,9 +15,8 @@
#include <netlink/netfilter/nfnl.h>
#include <netlink/netfilter/queue.h>
-#include <netlink-private/netlink.h>
-
#include "nl-priv-dynamic-core/object-api.h"
+#include "nl-priv-dynamic-core/nl-core.h"
/** @cond SKIP */
struct nfnl_queue {
diff --git a/lib/nl-core.h b/lib/nl-core.h
index 182e213..42d7629 100644
--- a/lib/nl-core.h
+++ b/lib/nl-core.h
@@ -6,8 +6,6 @@
#ifndef __LIB_NL_CORE_H__
#define __LIB_NL_CORE_H__
-#include <netlink-private/netlink.h>
-
struct nl_cb
{
nl_recvmsg_msg_cb_t cb_set[NL_CB_TYPE_MAX+1];
@@ -54,4 +52,9 @@ uint32_t _nl_socket_set_local_port_no_release(struct nl_sock *sk, int generate_o
void _nl_socket_used_ports_release_all(const uint32_t *used_ports);
void _nl_socket_used_ports_set(uint32_t *used_ports, uint32_t port);
+extern int nl_cache_parse(struct nl_cache_ops *, struct sockaddr_nl *,
+ struct nlmsghdr *, struct nl_parser_param *);
+
+extern void dump_from_ops(struct nl_object *, struct nl_dump_params *);
+
#endif /* __LIB_NL_CORE_H__ */
diff --git a/lib/nl.c b/lib/nl.c
index f385fb5..7d729a7 100644
--- a/lib/nl.c
+++ b/lib/nl.c
@@ -29,10 +29,10 @@
#include <netlink/msg.h>
#include <netlink/attr.h>
-#include <netlink-private/netlink.h>
-
#include "nl-core.h"
#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-aux-core/nl-core.h"
+#include "nl-priv-dynamic-core/cache-api.h"
/**
* @defgroup core_types Data Types
diff --git a/lib/object.c b/lib/object.c
index 77fd4a1..234628a 100644
--- a/lib/object.c
+++ b/lib/object.c
@@ -28,10 +28,11 @@
#include <netlink/object.h>
#include <netlink/utils.h>
-#include <netlink-private/netlink.h>
-
+#include "nl-core.h"
#include "nl-priv-dynamic-core/nl-core.h"
#include "nl-priv-dynamic-core/object-api.h"
+#include "nl-priv-dynamic-core/cache-api.h"
+#include "nl-aux-core/nl-core.h"
static inline struct nl_object_ops *obj_ops(struct nl_object *obj)
{
diff --git a/lib/route/act.c b/lib/route/act.c
index ea00828..ffee827 100644
--- a/lib/route/act.c
+++ b/lib/route/act.c
@@ -11,16 +11,17 @@
#include "nl-default.h"
+#include <linux/gen_stats.h>
+
#include <netlink/netlink.h>
#include <netlink/utils.h>
#include <netlink/route/link.h>
#include <netlink/route/action.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "tc-api.h"
#include "nl-priv-dynamic-core/object-api.h"
+#include "nl-priv-dynamic-core/cache-api.h"
static struct nl_object_ops act_obj_ops;
static struct nl_cache_ops rtnl_act_ops;
diff --git a/lib/route/act/gact.c b/lib/route/act/gact.c
index 6ce25a7..2e04c5a 100644
--- a/lib/route/act/gact.c
+++ b/lib/route/act/gact.c
@@ -17,8 +17,6 @@
#include <netlink/utils.h>
#include <netlink/route/act/gact.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
struct rtnl_gact {
diff --git a/lib/route/act/mirred.c b/lib/route/act/mirred.c
index a857fbe..72ead6b 100644
--- a/lib/route/act/mirred.c
+++ b/lib/route/act/mirred.c
@@ -17,8 +17,6 @@
#include <netlink/utils.h>
#include <netlink/route/act/mirred.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
struct rtnl_mirred {
diff --git a/lib/route/act/nat.c b/lib/route/act/nat.c
index 137bcff..ffc9d2b 100644
--- a/lib/route/act/nat.c
+++ b/lib/route/act/nat.c
@@ -18,8 +18,6 @@
#include <netlink/route/act/nat.h>
#include <netlink/route/tc.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
static struct nla_policy nat_policy[TCA_NAT_MAX + 1] = {
diff --git a/lib/route/act/skbedit.c b/lib/route/act/skbedit.c
index 588f053..32a3506 100644
--- a/lib/route/act/skbedit.c
+++ b/lib/route/act/skbedit.c
@@ -17,8 +17,6 @@
#include <netlink/utils.h>
#include <netlink/route/act/skbedit.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "tc-api.h"
diff --git a/lib/route/act/vlan.c b/lib/route/act/vlan.c
index f86a35d..71f16e5 100644
--- a/lib/route/act/vlan.c
+++ b/lib/route/act/vlan.c
@@ -19,8 +19,6 @@
#include <netlink/utils.h>
#include <netlink/route/act/vlan.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
struct rtnl_vlan
diff --git a/lib/route/addr.c b/lib/route/addr.c
index ebc0016..1f72c53 100644
--- a/lib/route/addr.c
+++ b/lib/route/addr.c
@@ -109,10 +109,9 @@
#include <netlink/route/link.h>
#include <netlink/utils.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-priv-dynamic-core/cache-api.h"
/** @cond SKIP */
struct rtnl_addr_cacheinfo {
diff --git a/lib/route/class.c b/lib/route/class.c
index 34f0276..29ba809 100644
--- a/lib/route/class.c
+++ b/lib/route/class.c
@@ -17,8 +17,6 @@
#include <netlink/route/classifier.h>
#include <netlink/utils.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "tc-api.h"
diff --git a/lib/route/classid.c b/lib/route/classid.c
index 2740b04..f5a75f0 100644
--- a/lib/route/classid.c
+++ b/lib/route/classid.c
@@ -11,11 +11,15 @@
#include "nl-default.h"
+#include <sys/stat.h>
+#include <search.h>
+
#include <netlink/netlink.h>
#include <netlink/utils.h>
#include <netlink/route/tc.h>
-#include <netlink-private/netlink.h>
+#include "nl-route.h"
+#include "nl-aux-core/nl-core.h"
struct classid_map
{
diff --git a/lib/route/cls.c b/lib/route/cls.c
index f44a55d..8f970b1 100644
--- a/lib/route/cls.c
+++ b/lib/route/cls.c
@@ -11,13 +11,13 @@
#include "nl-default.h"
+#include <linux/ethtool.h>
+
#include <netlink/netlink.h>
#include <netlink/utils.h>
#include <netlink/route/classifier.h>
#include <netlink/route/link.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "tc-api.h"
diff --git a/lib/route/cls/basic.c b/lib/route/cls/basic.c
index b1e3926..ed83ca1 100644
--- a/lib/route/cls/basic.c
+++ b/lib/route/cls/basic.c
@@ -24,8 +24,6 @@
#include <netlink/route/cls/basic.h>
#include <netlink/route/cls/ematch.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
struct rtnl_basic
diff --git a/lib/route/cls/cgroup.c b/lib/route/cls/cgroup.c
index cd89483..3534281 100644
--- a/lib/route/cls/cgroup.c
+++ b/lib/route/cls/cgroup.c
@@ -19,8 +19,6 @@
#include <netlink/route/cls/cgroup.h>
#include <netlink/route/cls/ematch.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
/** @cond SKIP */
diff --git a/lib/route/cls/ematch.c b/lib/route/cls/ematch.c
index 2527623..5a5a210 100644
--- a/lib/route/cls/ematch.c
+++ b/lib/route/cls/ematch.c
@@ -19,9 +19,8 @@
#include <netlink/route/cls/ematch.h>
#include <netlink/route/cls/ematch/cmp.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
+#include "nl-aux-core/nl-core.h"
#include "ematch_syntax.h"
#include "ematch_grammar.h"
diff --git a/lib/route/cls/ematch/cmp.c b/lib/route/cls/ematch/cmp.c
index d0eb38c..9feb2e5 100644
--- a/lib/route/cls/ematch/cmp.c
+++ b/lib/route/cls/ematch/cmp.c
@@ -18,8 +18,6 @@
#include <netlink/route/cls/ematch.h>
#include <netlink/route/cls/ematch/cmp.h>
-#include <netlink-private/netlink.h>
-
void rtnl_ematch_cmp_set(struct rtnl_ematch *e, struct tcf_em_cmp *cfg)
{
memcpy(rtnl_ematch_data(e), cfg, sizeof(*cfg));
diff --git a/lib/route/cls/ematch/container.c b/lib/route/cls/ematch/container.c
index 71aba58..ea2d166 100644
--- a/lib/route/cls/ematch/container.c
+++ b/lib/route/cls/ematch/container.c
@@ -8,8 +8,6 @@
#include <netlink/netlink.h>
#include <netlink/route/cls/ematch.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
static int container_parse(struct rtnl_ematch *e, void *data, size_t len __attribute__((unused)))
diff --git a/lib/route/cls/ematch/meta.c b/lib/route/cls/ematch/meta.c
index 2cfc3e8..2c884dc 100644
--- a/lib/route/cls/ematch/meta.c
+++ b/lib/route/cls/ematch/meta.c
@@ -18,7 +18,7 @@
#include <netlink/route/cls/ematch.h>
#include <netlink/route/cls/ematch/meta.h>
-#include <netlink-private/netlink.h>
+#include "nl-priv-dynamic-core/nl-core.h"
struct rtnl_meta_value
{
diff --git a/lib/route/cls/ematch/nbyte.c b/lib/route/cls/ematch/nbyte.c
index d7c6b06..d0ab84b 100644
--- a/lib/route/cls/ematch/nbyte.c
+++ b/lib/route/cls/ematch/nbyte.c
@@ -18,8 +18,6 @@
#include <netlink/route/cls/ematch.h>
#include <netlink/route/cls/ematch/nbyte.h>
-#include <netlink-private/netlink.h>
-
struct nbyte_data
{
struct tcf_em_nbyte cfg;
diff --git a/lib/route/cls/ematch/text.c b/lib/route/cls/ematch/text.c
index a1fcc1b..d7a233f 100644
--- a/lib/route/cls/ematch/text.c
+++ b/lib/route/cls/ematch/text.c
@@ -18,8 +18,6 @@
#include <netlink/route/cls/ematch.h>
#include <netlink/route/cls/ematch/text.h>
-#include <netlink-private/netlink.h>
-
struct text_data
{
struct tcf_em_text cfg;
diff --git a/lib/route/cls/ematch_grammar.l b/lib/route/cls/ematch_grammar.l
index 6b2b8b0..1035079 100644
--- a/lib/route/cls/ematch_grammar.l
+++ b/lib/route/cls/ematch_grammar.l
@@ -4,11 +4,14 @@
*/
%{
- #include <netlink-private/netlink.h>
+ #include <linux/tc_ematch/tc_em_cmp.h>
+
#include <netlink/netlink.h>
#include <netlink/route/cls/ematch.h>
#include <netlink/route/cls/ematch/cmp.h>
- #include <linux/tc_ematch/tc_em_cmp.h>
+
+ #include "nl-route.h"
+
#include "ematch_syntax.h"
int ematch_get_column(yyscan_t);
diff --git a/lib/route/cls/ematch_syntax.y b/lib/route/cls/ematch_syntax.y
index 7328d63..0031aee 100644
--- a/lib/route/cls/ematch_syntax.y
+++ b/lib/route/cls/ematch_syntax.y
@@ -4,7 +4,9 @@
*/
%{
-#include <netlink-private/netlink.h>
+#include <linux/tc_ematch/tc_em_meta.h>
+#include <linux/tc_ematch/tc_em_cmp.h>
+
#include <netlink/netlink.h>
#include <netlink/utils.h>
#include <netlink/route/pktloc.h>
@@ -13,15 +15,13 @@
#include <netlink/route/cls/ematch/nbyte.h>
#include <netlink/route/cls/ematch/text.h>
#include <netlink/route/cls/ematch/meta.h>
-#include <linux/tc_ematch/tc_em_meta.h>
-#include <linux/tc_ematch/tc_em_cmp.h>
+
+#include "nl-route.h"
#define META_ALLOC rtnl_meta_value_alloc_id
#define META_ID(name) TCF_META_ID_##name
#define META_INT TCF_META_TYPE_INT
#define META_VAR TCF_META_TYPE_VAR
-
-#include "nl-route.h"
%}
%code requires {
diff --git a/lib/route/cls/flower.c b/lib/route/cls/flower.c
index ceec90a..e0a98e9 100644
--- a/lib/route/cls/flower.c
+++ b/lib/route/cls/flower.c
@@ -5,6 +5,8 @@
#include "nl-default.h"
+#include <linux/ethtool.h>
+
#include <netlink/netlink.h>
#include <netlink/attr.h>
#include <netlink/utils.h>
@@ -12,8 +14,6 @@
#include <netlink/route/action.h>
#include <netlink/route/cls/flower.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
/** @cond SKIP */
diff --git a/lib/route/cls/fw.c b/lib/route/cls/fw.c
index 2b91ab9..01be33f 100644
--- a/lib/route/cls/fw.c
+++ b/lib/route/cls/fw.c
@@ -18,8 +18,6 @@
#include <netlink/route/classifier.h>
#include <netlink/route/cls/fw.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
/** @cond SKIP */
diff --git a/lib/route/cls/mall.c b/lib/route/cls/mall.c
index 69d700c..04ec58a 100644
--- a/lib/route/cls/mall.c
+++ b/lib/route/cls/mall.c
@@ -19,8 +19,6 @@
#include <netlink/route/cls/matchall.h>
#include <netlink/route/action.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
struct rtnl_mall {
diff --git a/lib/route/cls/police.c b/lib/route/cls/police.c
index d184c16..e7e3926 100644
--- a/lib/route/cls/police.c
+++ b/lib/route/cls/police.c
@@ -10,7 +10,7 @@
#include <netlink/route/classifier.h>
#include <netlink/route/cls/police.h>
-#include <netlink-private/netlink.h>
+#include "nl-priv-dynamic-core/nl-core.h"
/**
* @name Policer Type
diff --git a/lib/route/cls/u32.c b/lib/route/cls/u32.c
index 50934f0..ab8b977 100644
--- a/lib/route/cls/u32.c
+++ b/lib/route/cls/u32.c
@@ -21,8 +21,6 @@
#include <netlink/route/cls/u32.h>
#include <netlink/route/action.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
#include "nl-aux-route/nl-route.h"
diff --git a/lib/route/link.c b/lib/route/link.c
index 412ff00..ce1355b 100644
--- a/lib/route/link.c
+++ b/lib/route/link.c
@@ -14,6 +14,8 @@
#include "nl-default.h"
+#include <linux/if_arp.h>
+
#include <netlink/netlink.h>
#include <netlink/attr.h>
#include <netlink/utils.h>
@@ -23,10 +25,9 @@
#include <netlink/route/rtnl.h>
#include <netlink/route/link.h>
-#include <netlink-private/netlink.h>
-
#include "nl-aux-route/nl-route.h"
#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-priv-dynamic-core/cache-api.h"
#include "nl-route.h"
#include "link-sriov.h"
#include "link/link-api.h"
diff --git a/lib/route/link/api.c b/lib/route/link/api.c
index 3dc0182..abc9e6a 100644
--- a/lib/route/link/api.c
+++ b/lib/route/link/api.c
@@ -39,8 +39,6 @@
#include <netlink/utils.h>
#include <netlink/route/link.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
diff --git a/lib/route/link/bonding.c b/lib/route/link/bonding.c
index c470f06..640a62c 100644
--- a/lib/route/link/bonding.c
+++ b/lib/route/link/bonding.c
@@ -19,8 +19,6 @@
#include <netlink/netlink.h>
#include <netlink/route/link/bonding.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
diff --git a/lib/route/link/bridge.c b/lib/route/link/bridge.c
index cec5f33..5b44164 100644
--- a/lib/route/link/bridge.c
+++ b/lib/route/link/bridge.c
@@ -20,8 +20,6 @@
#include <netlink/route/rtnl.h>
#include <netlink/route/link/bridge.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
#include "nl-priv-dynamic-core/nl-core.h"
diff --git a/lib/route/link/bridge_info.c b/lib/route/link/bridge_info.c
index 2823a70..61b885f 100644
--- a/lib/route/link/bridge_info.c
+++ b/lib/route/link/bridge_info.c
@@ -15,8 +15,6 @@
#include <netlink/route/link/bridge_info.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
diff --git a/lib/route/link/can.c b/lib/route/link/can.c
index c2bdb5c..290d42c 100644
--- a/lib/route/link/can.c
+++ b/lib/route/link/can.c
@@ -27,8 +27,6 @@
#include <netlink/route/rtnl.h>
#include <netlink/route/link/can.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
diff --git a/lib/route/link/dummy.c b/lib/route/link/dummy.c
index 514a0cf..83d6ba7 100644
--- a/lib/route/link/dummy.c
+++ b/lib/route/link/dummy.c
@@ -17,8 +17,6 @@
#include <netlink/netlink.h>
-#include <netlink-private/netlink.h>
-
#include "link-api.h"
static struct rtnl_link_info_ops dummy_info_ops = {
diff --git a/lib/route/link/geneve.c b/lib/route/link/geneve.c
index 1e23ea2..61dd1f1 100644
--- a/lib/route/link/geneve.c
+++ b/lib/route/link/geneve.c
@@ -23,8 +23,6 @@
#include <netlink/route/rtnl.h>
#include <netlink/route/link/geneve.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
diff --git a/lib/route/link/ifb.c b/lib/route/link/ifb.c
index 9c0f5c8..d5fc685 100644
--- a/lib/route/link/ifb.c
+++ b/lib/route/link/ifb.c
@@ -17,8 +17,6 @@
#include <netlink/netlink.h>
-#include <netlink-private/netlink.h>
-
#include "link-api.h"
static struct rtnl_link_info_ops ifb_info_ops = {
diff --git a/lib/route/link/inet.c b/lib/route/link/inet.c
index a5ed46f..7ed705e 100644
--- a/lib/route/link/inet.c
+++ b/lib/route/link/inet.c
@@ -53,13 +53,13 @@
#include "nl-default.h"
+#include <linux/ip.h>
+
#include <netlink/netlink.h>
#include <netlink/attr.h>
#include <netlink/route/rtnl.h>
#include <netlink/route/link/inet.h>
-#include <netlink-private/netlink.h>
-
#include "link-api.h"
/** @cond SKIP */
diff --git a/lib/route/link/inet6.c b/lib/route/link/inet6.c
index 7a89f68..b03e47d 100644
--- a/lib/route/link/inet6.c
+++ b/lib/route/link/inet6.c
@@ -5,13 +5,14 @@
#include "nl-default.h"
+#include <linux/ipv6.h>
+#include <linux/snmp.h>
+
#include <netlink/netlink.h>
#include <netlink/attr.h>
#include <netlink/route/rtnl.h>
#include <netlink/route/link/inet6.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
#include "nl-priv-static-route/nl-priv-static-route.h"
diff --git a/lib/route/link/ip6gre.c b/lib/route/link/ip6gre.c
index d518785..51d4609 100644
--- a/lib/route/link/ip6gre.c
+++ b/lib/route/link/ip6gre.c
@@ -24,8 +24,6 @@
#include <netlink/route/rtnl.h>
#include <netlink/route/link/ip6gre.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
diff --git a/lib/route/link/ip6tnl.c b/lib/route/link/ip6tnl.c
index 0c5a4f6..bba79ea 100644
--- a/lib/route/link/ip6tnl.c
+++ b/lib/route/link/ip6tnl.c
@@ -29,8 +29,6 @@
#include <netlink/route/rtnl.h>
#include <netlink/route/link/ip6tnl.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
diff --git a/lib/route/link/ip6vti.c b/lib/route/link/ip6vti.c
index 617f8a4..b6c7a1b 100644
--- a/lib/route/link/ip6vti.c
+++ b/lib/route/link/ip6vti.c
@@ -24,8 +24,6 @@
#include <netlink/route/rtnl.h>
#include <netlink/route/link/ip6vti.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
diff --git a/lib/route/link/ipgre.c b/lib/route/link/ipgre.c
index 79eb8ff..bd3cc40 100644
--- a/lib/route/link/ipgre.c
+++ b/lib/route/link/ipgre.c
@@ -27,8 +27,6 @@
#include <netlink/route/rtnl.h>
#include <netlink/route/link/ipgre.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
diff --git a/lib/route/link/ipip.c b/lib/route/link/ipip.c
index 8783667..74db890 100644
--- a/lib/route/link/ipip.c
+++ b/lib/route/link/ipip.c
@@ -27,8 +27,6 @@
#include <netlink/route/rtnl.h>
#include <netlink/route/link/ipip.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
diff --git a/lib/route/link/ipvlan.c b/lib/route/link/ipvlan.c
index 5f85b44..807942b 100644
--- a/lib/route/link/ipvlan.c
+++ b/lib/route/link/ipvlan.c
@@ -27,8 +27,6 @@
#include <netlink/route/rtnl.h>
#include <netlink/route/link/ipvlan.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
diff --git a/lib/route/link/ipvti.c b/lib/route/link/ipvti.c
index cb8586c..fd57895 100644
--- a/lib/route/link/ipvti.c
+++ b/lib/route/link/ipvti.c
@@ -27,8 +27,6 @@
#include <netlink/route/rtnl.h>
#include <netlink/route/link/ipvti.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
diff --git a/lib/route/link/link-api.h b/lib/route/link/link-api.h
index c5941ea..a3e8805 100644
--- a/lib/route/link/link-api.h
+++ b/lib/route/link/link-api.h
@@ -7,6 +7,7 @@
#define NETLINK_LINK_API_H_
#include <netlink/netlink.h>
+#include <netlink/route/link.h>
#include "nl-priv-dynamic-core/nl-core.h"
@@ -193,4 +194,6 @@ extern int rtnl_link_info_data_compare(struct rtnl_link *a,
}
#endif
+extern struct rtnl_link *link_lookup(struct nl_cache *cache, int ifindex);
+
#endif
diff --git a/lib/route/link/macsec.c b/lib/route/link/macsec.c
index 86f1b1d..a989eed 100644
--- a/lib/route/link/macsec.c
+++ b/lib/route/link/macsec.c
@@ -27,8 +27,6 @@
#include <netlink/route/rtnl.h>
#include <netlink/route/link/macsec.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
#include "nl-priv-dynamic-core/nl-core.h"
diff --git a/lib/route/link/macvlan.c b/lib/route/link/macvlan.c
index d6580f4..be9a2e2 100644
--- a/lib/route/link/macvlan.c
+++ b/lib/route/link/macvlan.c
@@ -20,6 +20,7 @@
#include "nl-default.h"
#include <linux/if_link.h>
+#include <linux/ethtool.h>
#include <netlink/netlink.h>
#include <netlink/attr.h>
@@ -29,8 +30,6 @@
#include <netlink/route/link/macvlan.h>
#include <netlink/route/link/macvtap.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
diff --git a/lib/route/link/ppp.c b/lib/route/link/ppp.c
index 11cd1ee..34ca5f6 100644
--- a/lib/route/link/ppp.c
+++ b/lib/route/link/ppp.c
@@ -19,8 +19,6 @@
#include <netlink/route/link/ppp.h>
#include <netlink/netlink.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
diff --git a/lib/route/link/sit.c b/lib/route/link/sit.c
index 031a727..69dd316 100644
--- a/lib/route/link/sit.c
+++ b/lib/route/link/sit.c
@@ -27,8 +27,6 @@
#include <netlink/route/rtnl.h>
#include <netlink/route/link/sit.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
diff --git a/lib/route/link/sriov.c b/lib/route/link/sriov.c
index 4c4c85a..d47d1dd 100644
--- a/lib/route/link/sriov.c
+++ b/lib/route/link/sriov.c
@@ -28,8 +28,6 @@
#include <netlink/route/link.h>
#include <netlink/route/link/sriov.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-sriov.h"
#include "link-api.h"
diff --git a/lib/route/link/team.c b/lib/route/link/team.c
index d3a04e6..0f1161b 100644
--- a/lib/route/link/team.c
+++ b/lib/route/link/team.c
@@ -19,8 +19,6 @@
#include <netlink/netlink.h>
#include <netlink/route/link/team.h>
-#include <netlink-private/netlink.h>
-
#include "link-api.h"
/**
diff --git a/lib/route/link/veth.c b/lib/route/link/veth.c
index 871c9b6..be4b795 100644
--- a/lib/route/link/veth.c
+++ b/lib/route/link/veth.c
@@ -28,8 +28,6 @@
#include <netlink/route/rtnl.h>
#include <netlink/route/link/veth.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
diff --git a/lib/route/link/vlan.c b/lib/route/link/vlan.c
index 2ad4b8e..60e4358 100644
--- a/lib/route/link/vlan.c
+++ b/lib/route/link/vlan.c
@@ -27,8 +27,6 @@
#include <netlink/route/rtnl.h>
#include <netlink/route/link/vlan.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
diff --git a/lib/route/link/vrf.c b/lib/route/link/vrf.c
index 4583efe..810ba90 100644
--- a/lib/route/link/vrf.c
+++ b/lib/route/link/vrf.c
@@ -30,8 +30,6 @@
#include <netlink/route/rtnl.h>
#include <netlink/route/link/vrf.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
diff --git a/lib/route/link/vxlan.c b/lib/route/link/vxlan.c
index 332d4d4..4606dd5 100644
--- a/lib/route/link/vxlan.c
+++ b/lib/route/link/vxlan.c
@@ -27,8 +27,6 @@
#include <netlink/route/rtnl.h>
#include <netlink/route/link/vxlan.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
diff --git a/lib/route/link/xfrmi.c b/lib/route/link/xfrmi.c
index 37e7f70..09ceb80 100644
--- a/lib/route/link/xfrmi.c
+++ b/lib/route/link/xfrmi.c
@@ -27,8 +27,6 @@
#include <netlink/route/rtnl.h>
#include <netlink/route/link/xfrmi.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "link-api.h"
diff --git a/lib/route/mdb.c b/lib/route/mdb.c
index 36a6b0b..7749c16 100644
--- a/lib/route/mdb.c
+++ b/lib/route/mdb.c
@@ -13,10 +13,10 @@
#include <netlink/utils.h>
#include <netlink/route/rtnl.h>
-#include <netlink-private/netlink.h>
-
+#include "nl-route.h"
#include "nl-aux-route/nl-route.h"
#include "nl-priv-dynamic-core/object-api.h"
+#include "nl-priv-dynamic-core/cache-api.h"
/** @cond SKIP */
#define MDB_ATTR_IFINDEX 0x000001
diff --git a/lib/route/neigh.c b/lib/route/neigh.c
index bd40b8a..9150024 100644
--- a/lib/route/neigh.c
+++ b/lib/route/neigh.c
@@ -153,10 +153,9 @@
#include <netlink/route/link.h>
#include <netlink/hashtable.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-priv-dynamic-core/cache-api.h"
/** @cond SKIP */
struct rtnl_ncacheinfo {
diff --git a/lib/route/neightbl.c b/lib/route/neightbl.c
index 71b30cf..0ba9858 100644
--- a/lib/route/neightbl.c
+++ b/lib/route/neightbl.c
@@ -18,10 +18,9 @@
#include <netlink/route/neightbl.h>
#include <netlink/route/link.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-priv-dynamic-core/cache-api.h"
struct rtnl_neightbl_parms {
/**
diff --git a/lib/route/netconf.c b/lib/route/netconf.c
index b338bef..7863da6 100644
--- a/lib/route/netconf.c
+++ b/lib/route/netconf.c
@@ -21,9 +21,9 @@
#include <netlink/route/netconf.h>
#include <netlink/hashtable.h>
-#include <netlink-private/netlink.h>
-
+#include "nl-route.h"
#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-priv-dynamic-core/cache-api.h"
#include "nl-priv-dynamic-core/object-api.h"
/** @cond SKIP */
diff --git a/lib/route/nexthop.c b/lib/route/nexthop.c
index 37fc060..962f2ba 100644
--- a/lib/route/nexthop.c
+++ b/lib/route/nexthop.c
@@ -16,10 +16,9 @@
#include <netlink/route/rtnl.h>
#include <netlink/route/route.h>
-#include <netlink-private/netlink.h>
-
#include "nexthop-encap.h"
#include "nl-route.h"
+#include "nl-priv-dynamic-core/nl-core.h"
/** @cond SKIP */
#define NH_ATTR_FLAGS 0x000001
diff --git a/lib/route/nexthop_encap.c b/lib/route/nexthop_encap.c
index 20c645b..226b901 100644
--- a/lib/route/nexthop_encap.c
+++ b/lib/route/nexthop_encap.c
@@ -4,8 +4,6 @@
#include <linux/lwtunnel.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "nexthop-encap.h"
diff --git a/lib/route/nh.c b/lib/route/nh.c
index 89fdef8..7570403 100644
--- a/lib/route/nh.c
+++ b/lib/route/nh.c
@@ -11,11 +11,10 @@
#include <netlink/hashtable.h>
#include <netlink/route/nexthop.h>
-#include <netlink-private/netlink.h>
-
#include "nl-aux-route/nl-route.h"
#include "nl-route.h"
#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-priv-dynamic-core/cache-api.h"
/** @cond SKIP */
struct rtnl_nh {
diff --git a/lib/route/nh_encap_mpls.c b/lib/route/nh_encap_mpls.c
index 6cf6dc5..a780291 100644
--- a/lib/route/nh_encap_mpls.c
+++ b/lib/route/nh_encap_mpls.c
@@ -7,8 +7,6 @@
#include <netlink/route/nexthop.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "nexthop-encap.h"
diff --git a/lib/route/nl-route.h b/lib/route/nl-route.h
index b478dca..49c345f 100644
--- a/lib/route/nl-route.h
+++ b/lib/route/nl-route.h
@@ -7,8 +7,11 @@
#ifndef __LIB_ROUTE_NL_ROUTE_H__
#define __LIB_ROUTE_NL_ROUTE_H__
+#include <netlink/route/tc.h>
+
#include "nl-priv-dynamic-core/object-api.h"
#include "nl-priv-dynamic-route/nl-priv-dynamic-route.h"
+#include "nl-aux-core/nl-core.h"
/*****************************************************************************/
@@ -159,4 +162,30 @@ static inline void rtnl_rcopy_ratespec(struct tc_ratespec *dst,
(uint32_t)src->rs_rate64;
}
+/*****************************************************************************/
+
+static inline int build_sysconf_path(char **strp, const char *filename)
+{
+ char *sysconfdir;
+
+ sysconfdir = getenv("NLSYSCONFDIR");
+
+ if (!sysconfdir)
+ sysconfdir = SYSCONFDIR;
+
+ return asprintf(strp, "%s/%s", sysconfdir, filename);
+}
+
+/*****************************************************************************/
+
+static inline int rtnl_tc_calc_txtime64(int bufsize, uint64_t rate)
+{
+ return ((double)bufsize / (double)rate) * 1000000.0;
+}
+
+static inline int rtnl_tc_calc_bufsize64(int txtime, uint64_t rate)
+{
+ return ((double)txtime * (double)rate) / 1000000.0;
+}
+
#endif /* __LIB_ROUTE_NL_ROUTE_H__ */
diff --git a/lib/route/pktloc.c b/lib/route/pktloc.c
index a82dac9..7f320d9 100644
--- a/lib/route/pktloc.c
+++ b/lib/route/pktloc.c
@@ -27,11 +27,13 @@
#include "nl-default.h"
+#include <sys/stat.h>
+
#include <netlink/netlink.h>
#include <netlink/utils.h>
#include <netlink/route/pktloc.h>
-#include <netlink-private/netlink.h>
+#include "nl-route.h"
#include "pktloc_syntax.h"
#include "pktloc_grammar.h"
diff --git a/lib/route/pktloc_grammar.l b/lib/route/pktloc_grammar.l
index c5757ae..2db229d 100644
--- a/lib/route/pktloc_grammar.l
+++ b/lib/route/pktloc_grammar.l
@@ -1,9 +1,10 @@
%{
- #include <netlink-private/netlink.h>
+ #include <linux/tc_ematch/tc_em_cmp.h>
+
#include <netlink/netlink.h>
#include <netlink/utils.h>
#include <netlink/route/pktloc.h>
- #include <linux/tc_ematch/tc_em_cmp.h>
+
#include "pktloc_syntax.h"
int pktloc_get_column(yyscan_t);
diff --git a/lib/route/pktloc_syntax.y b/lib/route/pktloc_syntax.y
index dac149d..661463a 100644
--- a/lib/route/pktloc_syntax.y
+++ b/lib/route/pktloc_syntax.y
@@ -1,8 +1,9 @@
%{
-#include <netlink-private/netlink.h>
#include <netlink/netlink.h>
#include <netlink/utils.h>
#include <netlink/route/pktloc.h>
+
+#include "nl-route.h"
%}
%locations
diff --git a/lib/route/qdisc.c b/lib/route/qdisc.c
index 8a5db4f..67ea358 100644
--- a/lib/route/qdisc.c
+++ b/lib/route/qdisc.c
@@ -18,8 +18,6 @@
#include <netlink/route/class.h>
#include <netlink/route/classifier.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
static struct nl_cache_ops rtnl_qdisc_ops;
diff --git a/lib/route/qdisc/blackhole.c b/lib/route/qdisc/blackhole.c
index 523ace9..8d8f4ba 100644
--- a/lib/route/qdisc/blackhole.c
+++ b/lib/route/qdisc/blackhole.c
@@ -13,8 +13,6 @@
#include <netlink/netlink.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
static struct rtnl_tc_ops blackhole_ops = {
diff --git a/lib/route/qdisc/cbq.c b/lib/route/qdisc/cbq.c
index 6a88a8b..b9a6696 100644
--- a/lib/route/qdisc/cbq.c
+++ b/lib/route/qdisc/cbq.c
@@ -13,8 +13,6 @@
#include <netlink/route/qdisc/cbq.h>
#include <netlink/route/cls/police.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
struct rtnl_cbq {
diff --git a/lib/route/qdisc/dsmark.c b/lib/route/qdisc/dsmark.c
index 994a1e5..f5718f9 100644
--- a/lib/route/qdisc/dsmark.c
+++ b/lib/route/qdisc/dsmark.c
@@ -18,8 +18,6 @@
#include <netlink/route/class.h>
#include <netlink/route/qdisc/dsmark.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
/** @cond SKIP */
diff --git a/lib/route/qdisc/fifo.c b/lib/route/qdisc/fifo.c
index 2044e1a..9976803 100644
--- a/lib/route/qdisc/fifo.c
+++ b/lib/route/qdisc/fifo.c
@@ -30,8 +30,6 @@
#include <netlink/route/qdisc/fifo.h>
#include <netlink/utils.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
/** @cond SKIP */
diff --git a/lib/route/qdisc/fq_codel.c b/lib/route/qdisc/fq_codel.c
index d2915a3..a44ab22 100644
--- a/lib/route/qdisc/fq_codel.c
+++ b/lib/route/qdisc/fq_codel.c
@@ -18,8 +18,6 @@
#include <netlink/route/qdisc/fq_codel.h>
#include <netlink/utils.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
/** @cond SKIP */
diff --git a/lib/route/qdisc/hfsc.c b/lib/route/qdisc/hfsc.c
index d6d4583..49c24c7 100644
--- a/lib/route/qdisc/hfsc.c
+++ b/lib/route/qdisc/hfsc.c
@@ -20,8 +20,6 @@
#include <netlink/route/link.h>
#include <netlink/route/qdisc/hfsc.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
/** @cond SKIP */
diff --git a/lib/route/qdisc/htb.c b/lib/route/qdisc/htb.c
index ac8a204..28061b9 100644
--- a/lib/route/qdisc/htb.c
+++ b/lib/route/qdisc/htb.c
@@ -22,8 +22,6 @@
#include <netlink/route/link.h>
#include <netlink/route/qdisc/htb.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
/** @cond SKIP */
diff --git a/lib/route/qdisc/ingress.c b/lib/route/qdisc/ingress.c
index 979ce67..5363c26 100644
--- a/lib/route/qdisc/ingress.c
+++ b/lib/route/qdisc/ingress.c
@@ -16,8 +16,6 @@
#include <netlink/route/qdisc.h>
#include <netlink/utils.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
struct dumb {
diff --git a/lib/route/qdisc/mqprio.c b/lib/route/qdisc/mqprio.c
index d518f8c..5e9d08f 100644
--- a/lib/route/qdisc/mqprio.c
+++ b/lib/route/qdisc/mqprio.c
@@ -10,8 +10,6 @@
#include <netlink/route/qdisc.h>
#include <netlink/route/qdisc/mqprio.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
/** @cond SKIP */
diff --git a/lib/route/qdisc/netem.c b/lib/route/qdisc/netem.c
index 2e4c36a..6dde4f0 100644
--- a/lib/route/qdisc/netem.c
+++ b/lib/route/qdisc/netem.c
@@ -19,8 +19,6 @@
#include <netlink/route/qdisc.h>
#include <netlink/route/qdisc/netem.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
#include "nl-priv-dynamic-core/nl-core.h"
diff --git a/lib/route/qdisc/plug.c b/lib/route/qdisc/plug.c
index 1ab4bbe..f010802 100644
--- a/lib/route/qdisc/plug.c
+++ b/lib/route/qdisc/plug.c
@@ -60,8 +60,6 @@
#include <netlink/utils.h>
#include <netlink/route/qdisc/plug.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
struct rtnl_plug {
diff --git a/lib/route/qdisc/prio.c b/lib/route/qdisc/prio.c
index c2121c9..e733845 100644
--- a/lib/route/qdisc/prio.c
+++ b/lib/route/qdisc/prio.c
@@ -27,8 +27,6 @@
#include <netlink/route/qdisc.h>
#include <netlink/route/qdisc/prio.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
/** @cond SKIP */
diff --git a/lib/route/qdisc/red.c b/lib/route/qdisc/red.c
index 29d05bd..e793b78 100644
--- a/lib/route/qdisc/red.c
+++ b/lib/route/qdisc/red.c
@@ -17,8 +17,6 @@
#include <netlink/route/qdisc.h>
#include <netlink/route/qdisc/red.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
/** @cond SKIP */
diff --git a/lib/route/qdisc/sfq.c b/lib/route/qdisc/sfq.c
index d266676..4379889 100644
--- a/lib/route/qdisc/sfq.c
+++ b/lib/route/qdisc/sfq.c
@@ -24,8 +24,6 @@
#include <netlink/route/qdisc.h>
#include <netlink/route/qdisc/sfq.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
/** @cond SKIP */
diff --git a/lib/route/qdisc/tbf.c b/lib/route/qdisc/tbf.c
index e4db33b..67996eb 100644
--- a/lib/route/qdisc/tbf.c
+++ b/lib/route/qdisc/tbf.c
@@ -19,8 +19,6 @@
#include <netlink/route/link.h>
#include <netlink/route/qdisc/tbf.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
/** @cond SKIP */
diff --git a/lib/route/route.c b/lib/route/route.c
index 6378693..0a16ff4 100644
--- a/lib/route/route.c
+++ b/lib/route/route.c
@@ -20,9 +20,9 @@
#include <netlink/route/route.h>
#include <netlink/route/link.h>
-#include <netlink-private/netlink.h>
-
+#include "nl-route.h"
#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-priv-dynamic-core/cache-api.h"
#include "nl-aux-route/nl-route.h"
static struct nl_cache_ops rtnl_route_ops;
diff --git a/lib/route/route_obj.c b/lib/route/route_obj.c
index 193908d..ce68259 100644
--- a/lib/route/route_obj.c
+++ b/lib/route/route_obj.c
@@ -38,8 +38,6 @@
#include <netlink/route/link.h>
#include <netlink/route/nexthop.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "nl-aux-route/nl-route.h"
#include "nl-priv-dynamic-core/nl-core.h"
diff --git a/lib/route/route_utils.c b/lib/route/route_utils.c
index 5dfa9dd..04e52b4 100644
--- a/lib/route/route_utils.c
+++ b/lib/route/route_utils.c
@@ -38,7 +38,7 @@
#include <netlink/route/rtnl.h>
#include <netlink/route/route.h>
-#include <netlink-private/netlink.h>
+#include "nl-priv-dynamic-core/nl-core.h"
/**
* @name Routing Table Identifier Translations
diff --git a/lib/route/rtnl.c b/lib/route/rtnl.c
index 5b2c7e9..142c4c4 100644
--- a/lib/route/rtnl.c
+++ b/lib/route/rtnl.c
@@ -14,7 +14,7 @@
#include <netlink/utils.h>
#include <netlink/route/rtnl.h>
-#include <netlink-private/netlink.h>
+#include "nl-priv-dynamic-core/nl-core.h"
/**
* @name Sending
diff --git a/lib/route/rule.c b/lib/route/rule.c
index 43ce6a9..999ce85 100644
--- a/lib/route/rule.c
+++ b/lib/route/rule.c
@@ -21,10 +21,9 @@
#include <netlink/route/rtnl.h>
#include <netlink/route/rule.h>
-#include <netlink-private/netlink.h>
-
#include "nl-route.h"
#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-priv-dynamic-core/cache-api.h"
/** @cond SKIP */
struct rtnl_rule {
diff --git a/lib/route/tc-api.h b/lib/route/tc-api.h
index b06c052..43c4a28 100644
--- a/lib/route/tc-api.h
+++ b/lib/route/tc-api.h
@@ -13,6 +13,7 @@
#include "nl-route.h"
#include "nl-priv-dynamic-route/nl-priv-dynamic-route.h"
#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-priv-dynamic-core/cache-api.h"
/*****************************************************************************/
diff --git a/lib/route/tc.c b/lib/route/tc.c
index 6b0c372..97487cd 100644
--- a/lib/route/tc.c
+++ b/lib/route/tc.c
@@ -11,14 +11,16 @@
#include "nl-default.h"
+#include <linux/if_arp.h>
+#include <linux/gen_stats.h>
+#include <linux/atm.h>
+
#include <netlink/netlink.h>
#include <netlink/utils.h>
#include <netlink/route/rtnl.h>
#include <netlink/route/link.h>
#include <netlink/route/tc.h>
-#include <netlink-private/netlink.h>
-
#include "tc-api.h"
/** @cond SKIP */
diff --git a/lib/socket.c b/lib/socket.c
index 4cc945a..b0a6530 100644
--- a/lib/socket.c
+++ b/lib/socket.c
@@ -23,7 +23,8 @@
#include "nl-default.h"
-#include "sys/socket.h"
+#include <fcntl.h>
+#include <sys/socket.h>
#include <netlink/netlink.h>
#include <netlink/utils.h>
@@ -31,10 +32,13 @@
#include <netlink/msg.h>
#include <netlink/attr.h>
-#include <netlink-private/netlink.h>
-
#include "nl-core.h"
#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-aux-core/nl-core.h"
+
+#ifndef SOL_NETLINK
+#define SOL_NETLINK 270
+#endif
static int default_cb = NL_CB_DEFAULT;
diff --git a/lib/utils.c b/lib/utils.c
index 7ed8b91..f407294 100644
--- a/lib/utils.c
+++ b/lib/utils.c
@@ -24,13 +24,15 @@
#include <locale.h>
#include <linux/socket.h>
+#include <linux/if_arp.h>
#include <netlink/netlink.h>
#include <netlink/utils.h>
-#include <netlink-private/netlink.h>
-
+#include "nl-core.h"
#include "nl-priv-dynamic-core/object-api.h"
+#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-aux-core/nl-core.h"
/**
* Global variable indicating the desired level of debugging output.
@@ -121,6 +123,12 @@ int __nl_read_num_str_file(const char *path, int (*cb)(long, const char *))
return 0;
}
+struct trans_list {
+ int i;
+ char *a;
+ struct nl_list_head list;
+};
+
const char *nl_strerror_l(int err)
{
const char *buf;
diff --git a/lib/xfrm/ae.c b/lib/xfrm/ae.c
index 21a89a1..832e6cf 100644
--- a/lib/xfrm/ae.c
+++ b/lib/xfrm/ae.c
@@ -129,10 +129,10 @@
#include <linux/xfrm.h>
-#include <netlink-private/netlink.h>
-
#include "nl-xfrm.h"
#include "nl-priv-dynamic-core/object-api.h"
+#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-priv-dynamic-core/cache-api.h"
/** @cond SKIP */
diff --git a/lib/xfrm/lifetime.c b/lib/xfrm/lifetime.c
index f955bab..17c9883 100644
--- a/lib/xfrm/lifetime.c
+++ b/lib/xfrm/lifetime.c
@@ -51,8 +51,6 @@
#include <netlink/xfrm/lifetime.h>
-#include <netlink-private/netlink.h>
-
#include "nl-xfrm.h"
static void ltime_cfg_destroy(struct xfrmnl_ltime_cfg* ltime)
diff --git a/lib/xfrm/sa.c b/lib/xfrm/sa.c
index f67d994..0c1f778 100644
--- a/lib/xfrm/sa.c
+++ b/lib/xfrm/sa.c
@@ -50,10 +50,10 @@
#include <netlink/xfrm/selector.h>
#include <netlink/xfrm/lifetime.h>
-#include <netlink-private/netlink.h>
-
#include "nl-xfrm.h"
#include "nl-priv-dynamic-core/object-api.h"
+#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-priv-dynamic-core/cache-api.h"
/** @cond SKIP */
diff --git a/lib/xfrm/selector.c b/lib/xfrm/selector.c
index 18ec498..4f14b7b 100644
--- a/lib/xfrm/selector.c
+++ b/lib/xfrm/selector.c
@@ -51,8 +51,6 @@
#include <netlink/xfrm/selector.h>
-#include <netlink-private/netlink.h>
-
/* Selector, used as selector both on policy rules (SPD) and SAs. */
struct xfrmnl_sel {
uint32_t refcnt;
diff --git a/lib/xfrm/sp.c b/lib/xfrm/sp.c
index 7d1e6ae..0863b12 100644
--- a/lib/xfrm/sp.c
+++ b/lib/xfrm/sp.c
@@ -49,10 +49,10 @@
#include <netlink/xfrm/template.h>
#include <netlink/xfrm/sp.h>
-#include <netlink-private/netlink.h>
-
#include "nl-xfrm.h"
#include "nl-priv-dynamic-core/object-api.h"
+#include "nl-priv-dynamic-core/nl-core.h"
+#include "nl-priv-dynamic-core/cache-api.h"
struct xfrmnl_userpolicy_type {
uint8_t type;
diff --git a/lib/xfrm/template.c b/lib/xfrm/template.c
index 1cb4739..2a42b28 100644
--- a/lib/xfrm/template.c
+++ b/lib/xfrm/template.c
@@ -51,9 +51,8 @@
#include <netlink/xfrm/template.h>
-#include <netlink-private/netlink.h>
-
#include "nl-xfrm.h"
+#include "nl-priv-dynamic-core/nl-core.h"
void xfrmnl_user_tmpl_free(struct xfrmnl_user_tmpl* utmpl)
{
diff --git a/src/nl-list-caches.c b/src/nl-list-caches.c
index e9a44d3..4c2564a 100644
--- a/src/nl-list-caches.c
+++ b/src/nl-list-caches.c
@@ -7,9 +7,8 @@
#include <netlink/cli/utils.h>
-#include <netlink-private/netlink.h>
-
#include "nl-priv-dynamic-core/object-api.h"
+#include "nl-priv-dynamic-core/cache-api.h"
static void print_usage(void)
{
diff --git a/tests/test-create-ip6tnl.c b/tests/test-create-ip6tnl.c
index ca2efb9..b0c0281 100644
--- a/tests/test-create-ip6tnl.c
+++ b/tests/test-create-ip6tnl.c
@@ -4,8 +4,6 @@
#include <netlink/route/link/ip6tnl.h>
-#include <netlink-private/netlink.h>
-
int main(int argc, char *argv[])
{
struct nl_cache *link_cache;
diff --git a/tests/test-create-ipgre.c b/tests/test-create-ipgre.c
index 23a4329..31d0eec 100644
--- a/tests/test-create-ipgre.c
+++ b/tests/test-create-ipgre.c
@@ -4,8 +4,6 @@
#include <netlink/route/link/ipgre.h>
-#include <netlink-private/netlink.h>
-
int main(int argc, char *argv[])
{
struct nl_cache *link_cache;
diff --git a/tests/test-create-ipgretap.c b/tests/test-create-ipgretap.c
index 40f15c5..8dceaf1 100644
--- a/tests/test-create-ipgretap.c
+++ b/tests/test-create-ipgretap.c
@@ -4,8 +4,6 @@
#include <netlink/route/link/ipgre.h>
-#include <netlink-private/netlink.h>
-
int main(int argc, char *argv[])
{
struct nl_cache *link_cache;
diff --git a/tests/test-create-ipip.c b/tests/test-create-ipip.c
index 2f8e009..2ea3bf0 100644
--- a/tests/test-create-ipip.c
+++ b/tests/test-create-ipip.c
@@ -4,8 +4,6 @@
#include <netlink/route/link/ipip.h>
-#include <netlink-private/netlink.h>
-
int main(int argc, char *argv[])
{
struct nl_cache *link_cache;
diff --git a/tests/test-create-ipvti.c b/tests/test-create-ipvti.c
index ce676ec..33eb646 100644
--- a/tests/test-create-ipvti.c
+++ b/tests/test-create-ipvti.c
@@ -4,8 +4,6 @@
#include <netlink/route/link/ipvti.h>
-#include <netlink-private/netlink.h>
-
int main(int argc, char *argv[])
{
struct nl_cache *link_cache;
diff --git a/tests/test-create-sit.c b/tests/test-create-sit.c
index 8adf83f..5c7aaeb 100644
--- a/tests/test-create-sit.c
+++ b/tests/test-create-sit.c
@@ -4,8 +4,6 @@
#include <netlink/route/link/sit.h>
-#include <netlink-private/netlink.h>
-
int main(int argc, char *argv[])
{
struct nl_cache *link_cache;
diff --git a/tests/test-create-xfrmi.c b/tests/test-create-xfrmi.c
index 8845b6e..8fd7c3a 100644
--- a/tests/test-create-xfrmi.c
+++ b/tests/test-create-xfrmi.c
@@ -4,8 +4,6 @@
#include <netlink/route/link/xfrmi.h>
-#include <netlink-private/netlink.h>
-
int main(int argc, char *argv[])
{
struct nl_cache *link_cache;
diff --git a/tests/test-genl.c b/tests/test-genl.c
index 5db23f0..6d15a2f 100644
--- a/tests/test-genl.c
+++ b/tests/test-genl.c
@@ -66,8 +66,6 @@ static struct genl_cmd cmds[] = {
},
};
-#define ARRAY_SIZE(X) (sizeof(X) / sizeof((X)[0]))
-
static struct genl_ops ops = {
.o_name = TASKSTATS_GENL_NAME,
.o_cmds = cmds,
diff --git a/tools/clang-format.sh b/tools/clang-format.sh
index 38b8acd..faf4fdb 100755
--- a/tools/clang-format.sh
+++ b/tools/clang-format.sh
@@ -14,7 +14,6 @@ EXCLUDE_PATHS_TOPLEVEL=(
# The following files are currently not formatted with clang.
# Exclude them too.
EXCLUDE_PATHS_TOPLEVEL+=(
- "include/netlink-private/netlink.h"
"include/netlink/addr.h"
"include/netlink/attr.h"
"include/netlink/cache-api.h"