MCPcopy Create free account
hub / github.com/F-Stack/f-stack / ethdev_to_virtio_rss_offloads

Function ethdev_to_virtio_rss_offloads

dpdk/drivers/net/virtio/virtio_ethdev.c:1434–1469  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1432}
1433
1434static uint64_t
1435ethdev_to_virtio_rss_offloads(uint64_t ethdev_hash_types)
1436{
1437 uint64_t virtio_hash_types = 0;
1438
1439 if (ethdev_hash_types & (RTE_ETH_RSS_IPV4 | RTE_ETH_RSS_FRAG_IPV4 |
1440 RTE_ETH_RSS_NONFRAG_IPV4_OTHER))
1441 virtio_hash_types |= VIRTIO_NET_HASH_TYPE_IPV4;
1442
1443 if (ethdev_hash_types & RTE_ETH_RSS_NONFRAG_IPV4_TCP)
1444 virtio_hash_types |= VIRTIO_NET_HASH_TYPE_TCPV4;
1445
1446 if (ethdev_hash_types & RTE_ETH_RSS_NONFRAG_IPV4_UDP)
1447 virtio_hash_types |= VIRTIO_NET_HASH_TYPE_UDPV4;
1448
1449 if (ethdev_hash_types & (RTE_ETH_RSS_IPV6 | RTE_ETH_RSS_FRAG_IPV6 |
1450 RTE_ETH_RSS_NONFRAG_IPV6_OTHER))
1451 virtio_hash_types |= VIRTIO_NET_HASH_TYPE_IPV6;
1452
1453 if (ethdev_hash_types & RTE_ETH_RSS_NONFRAG_IPV6_TCP)
1454 virtio_hash_types |= VIRTIO_NET_HASH_TYPE_TCPV6;
1455
1456 if (ethdev_hash_types & RTE_ETH_RSS_NONFRAG_IPV6_UDP)
1457 virtio_hash_types |= VIRTIO_NET_HASH_TYPE_UDPV6;
1458
1459 if (ethdev_hash_types & RTE_ETH_RSS_IPV6_EX)
1460 virtio_hash_types |= VIRTIO_NET_HASH_TYPE_IP_EX;
1461
1462 if (ethdev_hash_types & RTE_ETH_RSS_IPV6_TCP_EX)
1463 virtio_hash_types |= VIRTIO_NET_HASH_TYPE_TCP_EX;
1464
1465 if (ethdev_hash_types & RTE_ETH_RSS_IPV6_UDP_EX)
1466 virtio_hash_types |= VIRTIO_NET_HASH_TYPE_UDP_EX;
1467
1468 return virtio_hash_types;
1469}
1470
1471static uint64_t
1472virtio_to_ethdev_rss_offloads(uint64_t virtio_hash_types)

Callers 2

virtio_dev_rss_initFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected