svn commit: r333957 - in head/sys: net sys
Matt Macy
mmacy at FreeBSD.org
Mon May 21 01:53:25 UTC 2018
Author: mmacy
Date: Mon May 21 01:53:23 2018
New Revision: 333957
URL: https://svnweb.freebsd.org/changeset/base/333957
Log:
ck: simplify interface with libkvm consumers by defining ck_queue types
as their queue.h equivalents if !_KERNEL
Added:
head/sys/sys/ck.h (contents, props changed)
Modified:
head/sys/net/if_var.h
Modified: head/sys/net/if_var.h
==============================================================================
--- head/sys/net/if_var.h Mon May 21 01:39:26 2018 (r333956)
+++ head/sys/net/if_var.h Mon May 21 01:53:23 2018 (r333957)
@@ -76,10 +76,10 @@ struct netdump_methods;
#include <sys/mbuf.h> /* ifqueue only? */
#include <sys/buf_ring.h>
#include <net/vnet.h>
-#include <ck_queue.h>
-#include <sys/epoch.h>
#endif /* _KERNEL */
+#include <sys/ck.h>
#include <sys/counter.h>
+#include <sys/epoch.h>
#include <sys/lock.h> /* XXX */
#include <sys/mutex.h> /* struct ifqueue */
#include <sys/rwlock.h> /* XXX */
@@ -90,13 +90,8 @@ struct netdump_methods;
#include <net/altq/if_altq.h>
TAILQ_HEAD(ifnethead, ifnet); /* we use TAILQs so that the order of */
-#ifdef _KERNEL
CK_STAILQ_HEAD(ifaddrhead, ifaddr); /* instantiation is preserved in the list */
CK_STAILQ_HEAD(ifmultihead, ifmultiaddr);
-#else
-STAILQ_HEAD(ifaddrhead, ifaddr); /* instantiation is preserved in the list */
-STAILQ_HEAD(ifmultihead, ifmultiaddr);
-#endif
TAILQ_HEAD(ifgrouphead, ifg_group);
#ifdef _KERNEL
@@ -522,7 +517,7 @@ struct ifaddr {
struct sockaddr *ifa_netmask; /* used to determine subnet */
struct ifnet *ifa_ifp; /* back-pointer to interface */
struct carp_softc *ifa_carp; /* pointer to CARP data */
- STAILQ_ENTRY(ifaddr) ifa_link; /* queue macro glue */
+ CK_STAILQ_ENTRY(ifaddr) ifa_link; /* queue macro glue */
void (*ifa_rtrequest) /* check or clean routes (+ or -)'d */
(int, struct rtentry *, struct rt_addrinfo *);
u_short ifa_flags; /* mostly rt_flags for cloning */
@@ -546,7 +541,7 @@ void ifa_ref(struct ifaddr *ifa);
* structure except that it keeps track of multicast addresses.
*/
struct ifmultiaddr {
- STAILQ_ENTRY(ifmultiaddr) ifma_link; /* queue macro glue */
+ CK_STAILQ_ENTRY(ifmultiaddr) ifma_link; /* queue macro glue */
struct sockaddr *ifma_addr; /* address this membership is for */
struct sockaddr *ifma_lladdr; /* link-layer translation, if any */
struct ifnet *ifma_ifp; /* back-pointer to interface */
Added: head/sys/sys/ck.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sys/sys/ck.h Mon May 21 01:53:23 2018 (r333957)
@@ -0,0 +1,13 @@
+/*
+ * $FreeBSD$
+ */
+#ifdef _KERNEL
+#include <ck_queue.h>
+#include <ck_epoch.h>
+#else
+#include <sys/queue.h>
+#define CK_STAILQ_HEAD STAILQ_HEAD
+#define CK_STAILQ_ENTRY STAILQ_ENTRY
+#define CK_LIST_HEAD LIST_HEAD
+#define CK_LIST_ENTRY LIST_ENTRY
+#endif
More information about the svn-src-head
mailing list