Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/virtio/network/if_vtnet.c
Show First 20 Lines • Show All 2,010 Lines • ▼ Show 20 Lines | vtnet_rxq_input(struct vtnet_rxq *rxq, struct mbuf *m, | ||||
} | } | ||||
if (hdr->gso_size != 0) { | if (hdr->gso_size != 0) { | ||||
switch (hdr->gso_type & ~VIRTIO_NET_HDR_GSO_ECN) { | switch (hdr->gso_type & ~VIRTIO_NET_HDR_GSO_ECN) { | ||||
case VIRTIO_NET_HDR_GSO_TCPV4: | case VIRTIO_NET_HDR_GSO_TCPV4: | ||||
case VIRTIO_NET_HDR_GSO_TCPV6: | case VIRTIO_NET_HDR_GSO_TCPV6: | ||||
m->m_pkthdr.lro_nsegs = | m->m_pkthdr.lro_nsegs = | ||||
howmany(m->m_pkthdr.len, hdr->gso_size); | howmany(m->m_pkthdr.len, hdr->gso_size); | ||||
rxq->vtnrx_stats.vrxs_host_lro++; | |||||
break; | break; | ||||
} | } | ||||
} | } | ||||
rxq->vtnrx_stats.vrxs_ipackets++; | rxq->vtnrx_stats.vrxs_ipackets++; | ||||
rxq->vtnrx_stats.vrxs_ibytes += m->m_pkthdr.len; | rxq->vtnrx_stats.vrxs_ibytes += m->m_pkthdr.len; | ||||
#if defined(INET) || defined(INET6) | #if defined(INET) || defined(INET6) | ||||
▲ Show 20 Lines • Show All 2,042 Lines • ▼ Show 20 Lines | vtnet_setup_rxq_sysctl(struct sysctl_ctx_list *ctx, | ||||
SYSCTL_ADD_UQUAD(ctx, list, OID_AUTO, "iqdrops", CTLFLAG_RD, | SYSCTL_ADD_UQUAD(ctx, list, OID_AUTO, "iqdrops", CTLFLAG_RD, | ||||
&stats->vrxs_iqdrops, "Receive drops"); | &stats->vrxs_iqdrops, "Receive drops"); | ||||
SYSCTL_ADD_UQUAD(ctx, list, OID_AUTO, "ierrors", CTLFLAG_RD, | SYSCTL_ADD_UQUAD(ctx, list, OID_AUTO, "ierrors", CTLFLAG_RD, | ||||
&stats->vrxs_ierrors, "Receive errors"); | &stats->vrxs_ierrors, "Receive errors"); | ||||
SYSCTL_ADD_UQUAD(ctx, list, OID_AUTO, "csum", CTLFLAG_RD, | SYSCTL_ADD_UQUAD(ctx, list, OID_AUTO, "csum", CTLFLAG_RD, | ||||
&stats->vrxs_csum, "Receive checksum offloaded"); | &stats->vrxs_csum, "Receive checksum offloaded"); | ||||
SYSCTL_ADD_UQUAD(ctx, list, OID_AUTO, "csum_failed", CTLFLAG_RD, | SYSCTL_ADD_UQUAD(ctx, list, OID_AUTO, "csum_failed", CTLFLAG_RD, | ||||
&stats->vrxs_csum_failed, "Receive checksum offload failed"); | &stats->vrxs_csum_failed, "Receive checksum offload failed"); | ||||
SYSCTL_ADD_UQUAD(ctx, list, OID_AUTO, "host_lro", CTLFLAG_RD, | |||||
&stats->vrxs_host_lro, "Receive host segmentation offloaded"); | |||||
SYSCTL_ADD_UQUAD(ctx, list, OID_AUTO, "rescheduled", CTLFLAG_RD, | SYSCTL_ADD_UQUAD(ctx, list, OID_AUTO, "rescheduled", CTLFLAG_RD, | ||||
&stats->vrxs_rescheduled, | &stats->vrxs_rescheduled, | ||||
"Receive interrupt handler rescheduled"); | "Receive interrupt handler rescheduled"); | ||||
} | } | ||||
static void | static void | ||||
vtnet_setup_txq_sysctl(struct sysctl_ctx_list *ctx, | vtnet_setup_txq_sysctl(struct sysctl_ctx_list *ctx, | ||||
struct sysctl_oid_list *child, struct vtnet_txq *txq) | struct sysctl_oid_list *child, struct vtnet_txq *txq) | ||||
▲ Show 20 Lines • Show All 334 Lines • Show Last 20 Lines |