summaryrefslogtreecommitdiffstats
path: root/sys/net/vnet.h
diff options
context:
space:
mode:
authorbz <bz@FreeBSD.org>2009-07-21 21:58:55 +0000
committerbz <bz@FreeBSD.org>2009-07-21 21:58:55 +0000
commit1f4b104d4db1667a601af3c0725a15f5e503203e (patch)
tree9c7c5b17e1d92a3118a038d42dac35b24c53b549 /sys/net/vnet.h
parent68cbb6a7463b70cec8d8a0cd9948339a98406099 (diff)
downloadFreeBSD-src-1f4b104d4db1667a601af3c0725a15f5e503203e.zip
FreeBSD-src-1f4b104d4db1667a601af3c0725a15f5e503203e.tar.gz
sysctl_msec_to_ticks is used with both virtualized and
non-vrtiualized sysctls so we cannot used one common function. Add a macro to convert the arg1 in the virtualized case to vnet.h to not expose the maths to all over the code. Add a wrapper for the single virtualized call, properly handling arg1 and call the default implementation from there. Convert the two over places to use the new macro. Reviewed by: rwatson Approved by: re (kib)
Diffstat (limited to 'sys/net/vnet.h')
-rw-r--r--sys/net/vnet.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/net/vnet.h b/sys/net/vnet.h
index 23f0a33..aec448a 100644
--- a/sys/net/vnet.h
+++ b/sys/net/vnet.h
@@ -101,6 +101,11 @@ int vnet_sysctl_handle_uint(SYSCTL_HANDLER_ARGS);
#define SYSCTL_VNET_UINT(parent, nbr, name, access, ptr, val, descr) \
SYSCTL_OID(parent, nbr, name, CTLTYPE_UINT|CTLFLAG_MPSAFE|(access), \
ptr, val, vnet_sysctl_handle_uint, "IU", descr)
+#define VNET_SYSCTL_ARG(req, arg1) do { \
+ if (arg1 != NULL) \
+ arg1 = (void *)(TD_TO_VNET((req)->td)->vnet_data_base + \
+ (uintptr_t)(arg1)); \
+} while (0)
#endif /* SYSCTL_OID */
/*
@@ -141,6 +146,7 @@ void vnet_data_destroy(struct vnet *vnet);
SYSCTL_STRUCT(parent, nbr, name, access, ptr, type, descr)
#define SYSCTL_VNET_UINT(parent, nbr, name, access, ptr, val, descr) \
SYSCTL_UINT(parent, nbr, name, access, ptr, val, descr)
+#define VNET_SYSCTL_ARG(req, arg1)
#endif /* SYSCTL_OID */
/*
OpenPOWER on IntegriCloud