Index: sys/dev/ixgbe/if_ix.c
===================================================================
--- sys/dev/ixgbe/if_ix.c	(revision 285660)
+++ sys/dev/ixgbe/if_ix.c	(working copy)
@@ -237,10 +237,12 @@
 ** traffic for that interrupt vector
 */
 static int ixgbe_enable_aim = TRUE;
+TUNABLE_INT("hw.ix.enable_aim", &ixgbe_enable_aim);
 SYSCTL_INT(_hw_ix, OID_AUTO, enable_aim, CTLFLAG_RWTUN, &ixgbe_enable_aim, 0,
     "Enable adaptive interrupt moderation");
 
 static int ixgbe_max_interrupt_rate = (4000000 / IXGBE_LOW_LATENCY);
+TUNABLE_INT("hw.ix.max_interrupt_rate", &ixgbe_max_interrupt_rate);
 SYSCTL_INT(_hw_ix, OID_AUTO, max_interrupt_rate, CTLFLAG_RDTUN,
     &ixgbe_max_interrupt_rate, 0, "Maximum interrupts per second");
 
@@ -274,6 +276,7 @@
  * but this allows it to be forced off for testing.
  */
 static int ixgbe_enable_msix = 1;
+TUNABLE_INT("hw.ix.enable_msix", &ixgbe_enable_msix);
 SYSCTL_INT(_hw_ix, OID_AUTO, enable_msix, CTLFLAG_RDTUN, &ixgbe_enable_msix, 0,
     "Enable MSI-X interrupts");
 
@@ -284,6 +287,7 @@
  * can be overriden manually here.
  */
 static int ixgbe_num_queues = 0;
+TUNABLE_INT("hw.ix.num_queues", &ixgbe_num_queues);
 SYSCTL_INT(_hw_ix, OID_AUTO, num_queues, CTLFLAG_RDTUN, &ixgbe_num_queues, 0,
     "Number of queues to configure up to a maximum of 8; "
     "0 indicates autoconfigure");
@@ -294,11 +298,13 @@
 ** the better performing choice.
 */
 static int ixgbe_txd = PERFORM_TXD;
+TUNABLE_INT("hw.ix.txd", &ixgbe_txd);
 SYSCTL_INT(_hw_ix, OID_AUTO, txd, CTLFLAG_RDTUN, &ixgbe_txd, 0,
     "Number of transmit descriptors per queue");
 
 /* Number of RX descriptors per ring */
 static int ixgbe_rxd = PERFORM_RXD;
+TUNABLE_INT("hw.ix.rxd", &ixgbe_rxd);
 SYSCTL_INT(_hw_ix, OID_AUTO, rxd, CTLFLAG_RDTUN, &ixgbe_rxd, 0,
     "Number of receive descriptors per queue");