| 1432 | } |
| 1433 | |
| 1434 | static uint64_t |
| 1435 | ethdev_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 | |
| 1471 | static uint64_t |
| 1472 | virtio_to_ethdev_rss_offloads(uint64_t virtio_hash_types) |
no outgoing calls
no test coverage detected