Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/hyperv/netvsc/hv_rndis_filter.c
Show First 20 Lines • Show All 85 Lines • ▼ Show 20 Lines | |||||
static int hv_rf_open_device(rndis_device *device); | static int hv_rf_open_device(rndis_device *device); | ||||
static int hv_rf_close_device(rndis_device *device); | static int hv_rf_close_device(rndis_device *device); | ||||
int | int | ||||
hv_rf_send_offload_request(struct hn_softc *sc, | hv_rf_send_offload_request(struct hn_softc *sc, | ||||
rndis_offload_params *offloads); | rndis_offload_params *offloads); | ||||
static void hn_rndis_sent_halt(struct hn_send_ctx *sndc, | static void hn_rndis_sent_halt(struct hn_send_ctx *sndc, | ||||
struct netvsc_dev_ *net_dev, struct vmbus_channel *chan, | struct netvsc_dev_ *net_dev, struct vmbus_channel *chan, | ||||
const struct nvsp_msg_ *msg); | const struct nvsp_msg_ *msg, int dlen); | ||||
static void hn_rndis_sent_cb(struct hn_send_ctx *sndc, | static void hn_rndis_sent_cb(struct hn_send_ctx *sndc, | ||||
struct netvsc_dev_ *net_dev, struct vmbus_channel *chan, | struct netvsc_dev_ *net_dev, struct vmbus_channel *chan, | ||||
const struct nvsp_msg_ *msg); | const struct nvsp_msg_ *msg, int dlen); | ||||
/* | /* | ||||
* Set the Per-Packet-Info with the specified type | * Set the Per-Packet-Info with the specified type | ||||
*/ | */ | ||||
void * | void * | ||||
hv_set_rppi_data(rndis_msg *rndis_mesg, uint32_t rppi_size, | hv_set_rppi_data(rndis_msg *rndis_mesg, uint32_t rppi_size, | ||||
int pkt_type) | int pkt_type) | ||||
{ | { | ||||
▲ Show 20 Lines • Show All 1,128 Lines • ▼ Show 20 Lines | |||||
{ | { | ||||
netvsc_dev *net_dev = sc->net_dev; | netvsc_dev *net_dev = sc->net_dev; | ||||
return (hv_rf_close_device((rndis_device *)net_dev->extension)); | return (hv_rf_close_device((rndis_device *)net_dev->extension)); | ||||
} | } | ||||
static void | static void | ||||
hn_rndis_sent_cb(struct hn_send_ctx *sndc, struct netvsc_dev_ *net_dev, | hn_rndis_sent_cb(struct hn_send_ctx *sndc, struct netvsc_dev_ *net_dev, | ||||
struct vmbus_channel *chan __unused, const struct nvsp_msg_ *msg __unused) | struct vmbus_channel *chan __unused, const struct nvsp_msg_ *msg __unused, | ||||
int dlen __unused) | |||||
{ | { | ||||
if (sndc->hn_chim_idx != NVSP_1_CHIMNEY_SEND_INVALID_SECTION_INDEX) | if (sndc->hn_chim_idx != NVSP_1_CHIMNEY_SEND_INVALID_SECTION_INDEX) | ||||
hn_chim_free(net_dev, sndc->hn_chim_idx); | hn_chim_free(net_dev, sndc->hn_chim_idx); | ||||
} | } | ||||
static void | static void | ||||
hn_rndis_sent_halt(struct hn_send_ctx *sndc, struct netvsc_dev_ *net_dev, | hn_rndis_sent_halt(struct hn_send_ctx *sndc, struct netvsc_dev_ *net_dev, | ||||
struct vmbus_channel *chan __unused, const struct nvsp_msg_ *msg __unused) | struct vmbus_channel *chan __unused, const struct nvsp_msg_ *msg __unused, | ||||
int dlen __unused) | |||||
{ | { | ||||
rndis_request *request = sndc->hn_cbarg; | rndis_request *request = sndc->hn_cbarg; | ||||
if (sndc->hn_chim_idx != NVSP_1_CHIMNEY_SEND_INVALID_SECTION_INDEX) | if (sndc->hn_chim_idx != NVSP_1_CHIMNEY_SEND_INVALID_SECTION_INDEX) | ||||
hn_chim_free(net_dev, sndc->hn_chim_idx); | hn_chim_free(net_dev, sndc->hn_chim_idx); | ||||
/* | /* | ||||
* Notify hv_rf_halt_device() about halt completion. | * Notify hv_rf_halt_device() about halt completion. | ||||
Show All 12 Lines |