Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/hyperv/netvsc/hn_rndis.c
Context not available. | |||||
params.ndis_udp6csum = NDIS_OFFLOAD_PARAM_RX; | params.ndis_udp6csum = NDIS_OFFLOAD_PARAM_RX; | ||||
} | } | ||||
/* RSC offload */ | |||||
if (hwcaps.ndis_hdr.ndis_rev >= NDIS_OFFLOAD_PARAMS_REV_3) { | |||||
if (hwcaps.ndis_rsc.ndis_ip4 && hwcaps.ndis_rsc.ndis_ip6) { | |||||
params.ndis_rsc_ip4 = NDIS_OFFLOAD_RSC_ON; | |||||
params.ndis_rsc_ip6 = NDIS_OFFLOAD_RSC_ON; | |||||
} else { | |||||
params.ndis_rsc_ip4 = NDIS_OFFLOAD_RSC_OFF; | |||||
params.ndis_rsc_ip6 = NDIS_OFFLOAD_RSC_OFF; | |||||
} | |||||
} | |||||
if (bootverbose) { | if (bootverbose) { | ||||
if_printf(sc->hn_ifp, "offload csum: " | if_printf(sc->hn_ifp, "offload csum: " | ||||
"ip4 %u, tcp4 %u, udp4 %u, tcp6 %u, udp6 %u\n", | "ip4 %u, tcp4 %u, udp4 %u, tcp6 %u, udp6 %u\n", | ||||
Context not available. | |||||
if_printf(sc->hn_ifp, "offload lsov2: ip4 %u, ip6 %u\n", | if_printf(sc->hn_ifp, "offload lsov2: ip4 %u, ip6 %u\n", | ||||
params.ndis_lsov2_ip4, | params.ndis_lsov2_ip4, | ||||
params.ndis_lsov2_ip6); | params.ndis_lsov2_ip6); | ||||
if (hwcaps.ndis_hdr.ndis_rev >= NDIS_OFFLOAD_PARAMS_REV_3) | |||||
if_printf(sc->hn_ifp, "offload rsc: ip4 %u, ip6 %u\n", | |||||
params.ndis_rsc_ip4, | |||||
params.ndis_rsc_ip6); | |||||
} | } | ||||
error = hn_rndis_set(sc, OID_TCP_OFFLOAD_PARAMETERS, ¶ms, paramsz); | error = hn_rndis_set(sc, OID_TCP_OFFLOAD_PARAMETERS, ¶ms, paramsz); | ||||
Context not available. | |||||
if_printf(sc->hn_ifp, "invalid NDIS objsize %u\n", | if_printf(sc->hn_ifp, "invalid NDIS objsize %u\n", | ||||
caps->ndis_hdr.ndis_size); | caps->ndis_hdr.ndis_size); | ||||
return (EINVAL); | return (EINVAL); | ||||
} else if (caps->ndis_hdr.ndis_rev >= NDIS_OFFLOAD_REV_3 && | |||||
caps->ndis_hdr.ndis_size < NDIS_OFFLOAD_SIZE) { | |||||
if_printf(sc->hn_ifp, "invalid NDIS rev3 objsize %u\n", | |||||
caps->ndis_hdr.ndis_size); | |||||
return (EINVAL); | |||||
} | } | ||||
if (bootverbose) { | if (bootverbose) { | ||||
Context not available. | |||||
caps->ndis_lsov2.ndis_ip6_minsg, | caps->ndis_lsov2.ndis_ip6_minsg, | ||||
caps->ndis_lsov2.ndis_ip6_encap, | caps->ndis_lsov2.ndis_ip6_encap, | ||||
caps->ndis_lsov2.ndis_ip6_opts); | caps->ndis_lsov2.ndis_ip6_opts); | ||||
if (caps->ndis_hdr.ndis_rev >= NDIS_OFFLOAD_REV_3) | |||||
if_printf(sc->hn_ifp, "hwcaps rsc: " | |||||
"ip4 %u ip6 %u\n", | |||||
caps->ndis_rsc.ndis_ip4, | |||||
caps->ndis_rsc.ndis_ip6); | |||||
} | } | ||||
return (0); | return (0); | ||||
} | } | ||||
Context not available. |