mirror of https://github.com/xemu-project/xemu.git
virtio-net: align RSC fields with updated virtio-net header
Removal of duplicated RSC definitions. Changing names of the fields to ones defined in the Linux header. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
parent
e41b711485
commit
dd3d85e891
|
@ -88,26 +88,6 @@
|
||||||
VIRTIO_NET_RSS_HASH_TYPE_TCP_EX | \
|
VIRTIO_NET_RSS_HASH_TYPE_TCP_EX | \
|
||||||
VIRTIO_NET_RSS_HASH_TYPE_UDP_EX)
|
VIRTIO_NET_RSS_HASH_TYPE_UDP_EX)
|
||||||
|
|
||||||
/* temporary until standard header include it */
|
|
||||||
#if !defined(VIRTIO_NET_HDR_F_RSC_INFO)
|
|
||||||
|
|
||||||
#define VIRTIO_NET_HDR_F_RSC_INFO 4 /* rsc_ext data in csum_ fields */
|
|
||||||
#define VIRTIO_NET_F_RSC_EXT 61
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static inline __virtio16 *virtio_net_rsc_ext_num_packets(
|
|
||||||
struct virtio_net_hdr *hdr)
|
|
||||||
{
|
|
||||||
return &hdr->csum_start;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline __virtio16 *virtio_net_rsc_ext_num_dupacks(
|
|
||||||
struct virtio_net_hdr *hdr)
|
|
||||||
{
|
|
||||||
return &hdr->csum_offset;
|
|
||||||
}
|
|
||||||
|
|
||||||
static VirtIOFeature feature_sizes[] = {
|
static VirtIOFeature feature_sizes[] = {
|
||||||
{.flags = 1ULL << VIRTIO_NET_F_MAC,
|
{.flags = 1ULL << VIRTIO_NET_F_MAC,
|
||||||
.end = endof(struct virtio_net_config, mac)},
|
.end = endof(struct virtio_net_config, mac)},
|
||||||
|
@ -1821,15 +1801,15 @@ static size_t virtio_net_rsc_drain_seg(VirtioNetRscChain *chain,
|
||||||
VirtioNetRscSeg *seg)
|
VirtioNetRscSeg *seg)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
struct virtio_net_hdr *h;
|
struct virtio_net_hdr_v1 *h;
|
||||||
|
|
||||||
h = (struct virtio_net_hdr *)seg->buf;
|
h = (struct virtio_net_hdr_v1 *)seg->buf;
|
||||||
h->flags = 0;
|
h->flags = 0;
|
||||||
h->gso_type = VIRTIO_NET_HDR_GSO_NONE;
|
h->gso_type = VIRTIO_NET_HDR_GSO_NONE;
|
||||||
|
|
||||||
if (seg->is_coalesced) {
|
if (seg->is_coalesced) {
|
||||||
*virtio_net_rsc_ext_num_packets(h) = seg->packets;
|
h->rsc.segments = seg->packets;
|
||||||
*virtio_net_rsc_ext_num_dupacks(h) = seg->dup_ack;
|
h->rsc.dup_acks = seg->dup_ack;
|
||||||
h->flags = VIRTIO_NET_HDR_F_RSC_INFO;
|
h->flags = VIRTIO_NET_HDR_F_RSC_INFO;
|
||||||
if (chain->proto == ETH_P_IP) {
|
if (chain->proto == ETH_P_IP) {
|
||||||
h->gso_type = VIRTIO_NET_HDR_GSO_TCPV4;
|
h->gso_type = VIRTIO_NET_HDR_GSO_TCPV4;
|
||||||
|
|
Loading…
Reference in New Issue