Page MenuHomeFreeBSD

D28708.diff
No OneTemporary

D28708.diff

diff --git a/sys/net/ifdi_if.m b/sys/net/ifdi_if.m
--- a/sys/net/ifdi_if.m
+++ b/sys/net/ifdi_if.m
@@ -321,6 +321,10 @@
if_ctx_t _ctx;
} DEFAULT null_void_op;
+METHOD void admin_completion_handle {
+ if_ctx_t _ctx;
+} DEFAULT null_void_op;
+
#
# interface configuration
#
diff --git a/sys/net/iflib.h b/sys/net/iflib.h
--- a/sys/net/iflib.h
+++ b/sys/net/iflib.h
@@ -398,6 +398,11 @@
*/
#define IFLIB_PSEUDO_ETHER 0x80000
+/*
+ * Interface has an admin completion queue
+ */
+#define IFLIB_HAS_ADMINCQ 0x100000
+
/*
* These enum values are used in iflib_needs_restart to indicate to iflib
* functions whether or not the interface needs restarting when certain events
diff --git a/sys/net/iflib.c b/sys/net/iflib.c
--- a/sys/net/iflib.c
+++ b/sys/net/iflib.c
@@ -4008,6 +4008,8 @@
callout_stop(&txq->ift_timer);
CALLOUT_UNLOCK(txq);
}
+ if (ctx->ifc_sctx->isc_flags & IFLIB_HAS_ADMINCQ)
+ IFDI_ADMIN_COMPLETION_HANDLE(ctx);
if (do_watchdog) {
ctx->ifc_watchdog_events++;
IFDI_WATCHDOG_RESET(ctx);

File Metadata

Mime Type
text/plain
Expires
Fri, May 2, 3:07 AM (16 h, 59 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
17896967
Default Alt Text
D28708.diff (1 KB)

Event Timeline