Changeset View
Changeset View
Standalone View
Standalone View
head/sys/net/iflib.c
Show First 20 Lines • Show All 4,578 Lines • ▼ Show 20 Lines | iflib_device_register(device_t dev, void *sc, if_shared_ctx_t sctx, if_ctx_t *ctxp) | ||||
if ((err = IFDI_ATTACH_PRE(ctx)) != 0) { | if ((err = IFDI_ATTACH_PRE(ctx)) != 0) { | ||||
device_printf(dev, "IFDI_ATTACH_PRE failed %d\n", err); | device_printf(dev, "IFDI_ATTACH_PRE failed %d\n", err); | ||||
goto fail_unlock; | goto fail_unlock; | ||||
} | } | ||||
_iflib_pre_assert(scctx); | _iflib_pre_assert(scctx); | ||||
ctx->ifc_txrx = *scctx->isc_txrx; | ctx->ifc_txrx = *scctx->isc_txrx; | ||||
#ifdef INVARIANTS | #ifdef INVARIANTS | ||||
MPASS(scctx->isc_capabilities); | |||||
if (scctx->isc_capabilities & IFCAP_TXCSUM) | if (scctx->isc_capabilities & IFCAP_TXCSUM) | ||||
MPASS(scctx->isc_tx_csum_flags); | MPASS(scctx->isc_tx_csum_flags); | ||||
#endif | #endif | ||||
if_setcapabilities(ifp, scctx->isc_capabilities | IFCAP_HWSTATS); | if_setcapabilities(ifp, scctx->isc_capabilities | IFCAP_HWSTATS); | ||||
if_setcapenable(ifp, scctx->isc_capenable | IFCAP_HWSTATS); | if_setcapenable(ifp, scctx->isc_capenable | IFCAP_HWSTATS); | ||||
if (scctx->isc_ntxqsets == 0 || (scctx->isc_ntxqsets_max && scctx->isc_ntxqsets_max < scctx->isc_ntxqsets)) | if (scctx->isc_ntxqsets == 0 || (scctx->isc_ntxqsets_max && scctx->isc_ntxqsets_max < scctx->isc_ntxqsets)) | ||||
▲ Show 20 Lines • Show All 224 Lines • ▼ Show 20 Lines | if ((err = IFDI_CLONEATTACH(ctx, clctx->cc_ifc, clctx->cc_name, | ||||
device_printf(dev, "IFDI_CLONEATTACH failed %d\n", err); | device_printf(dev, "IFDI_CLONEATTACH failed %d\n", err); | ||||
goto fail_ctx_free; | goto fail_ctx_free; | ||||
} | } | ||||
ifmedia_add(&ctx->ifc_media, IFM_ETHER | IFM_1000_T | IFM_FDX, 0, NULL); | ifmedia_add(&ctx->ifc_media, IFM_ETHER | IFM_1000_T | IFM_FDX, 0, NULL); | ||||
ifmedia_add(&ctx->ifc_media, IFM_ETHER | IFM_AUTO, 0, NULL); | ifmedia_add(&ctx->ifc_media, IFM_ETHER | IFM_AUTO, 0, NULL); | ||||
ifmedia_set(&ctx->ifc_media, IFM_ETHER | IFM_AUTO); | ifmedia_set(&ctx->ifc_media, IFM_ETHER | IFM_AUTO); | ||||
#ifdef INVARIANTS | #ifdef INVARIANTS | ||||
MPASS(scctx->isc_capabilities); | |||||
if (scctx->isc_capabilities & IFCAP_TXCSUM) | if (scctx->isc_capabilities & IFCAP_TXCSUM) | ||||
MPASS(scctx->isc_tx_csum_flags); | MPASS(scctx->isc_tx_csum_flags); | ||||
#endif | #endif | ||||
if_setcapabilities(ifp, scctx->isc_capabilities | IFCAP_HWSTATS | IFCAP_LINKSTATE); | if_setcapabilities(ifp, scctx->isc_capabilities | IFCAP_HWSTATS | IFCAP_LINKSTATE); | ||||
if_setcapenable(ifp, scctx->isc_capenable | IFCAP_HWSTATS | IFCAP_LINKSTATE); | if_setcapenable(ifp, scctx->isc_capenable | IFCAP_HWSTATS | IFCAP_LINKSTATE); | ||||
ifp->if_flags |= IFF_NOGROUP; | ifp->if_flags |= IFF_NOGROUP; | ||||
▲ Show 20 Lines • Show All 1,894 Lines • Show Last 20 Lines |