[dpdk-dev,v2,4/9] driver/virtio:fill virtio device info for TX offload

Message ID 1446210034-13750-5-git-send-email-jijiang.liu@intel.com (mailing list archive)
State Superseded, archived
Headers

Commit Message

Jijiang Liu Oct. 30, 2015, 1 p.m. UTC
  Fill virtio device info for TX offload.

Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
---
 drivers/net/virtio/virtio_ethdev.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)
  

Patch

diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index cb5dfee..b831c02 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -1559,6 +1559,16 @@  virtio_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 	dev_info->default_txconf = (struct rte_eth_txconf) {
 		.txq_flags = ETH_TXQ_FLAGS_NOOFFLOADS
 	};
+
+	if (hw->guest_features & (1u << VIRTIO_NET_F_CSUM))
+		dev_info->tx_offload_capa = DEV_TX_OFFLOAD_IPV4_CKSUM |
+				DEV_TX_OFFLOAD_UDP_CKSUM |
+				DEV_TX_OFFLOAD_TCP_CKSUM |
+				DEV_TX_OFFLOAD_SCTP_CKSUM;
+
+	if ((hw->guest_features & (1u << VIRTIO_NET_F_HOST_TSO4)) ||
+		(hw->guest_features & (1u << VIRTIO_NET_F_HOST_TSO6)))
+		dev_info->tx_offload_capa |= DEV_TX_OFFLOAD_TCP_TSO;
 }
 
 /*