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

Function virtio_to_ethdev_rss_offloads

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

Source from the content-addressed store, hash-verified

1469}
1470
1471static uint64_t
1472virtio_to_ethdev_rss_offloads(uint64_t virtio_hash_types)
1473{
1474 uint64_t rss_offloads = 0;
1475
1476 if (virtio_hash_types & VIRTIO_NET_HASH_TYPE_IPV4)
1477 rss_offloads |= RTE_ETH_RSS_IPV4 | RTE_ETH_RSS_FRAG_IPV4 |
1478 RTE_ETH_RSS_NONFRAG_IPV4_OTHER;
1479
1480 if (virtio_hash_types & VIRTIO_NET_HASH_TYPE_TCPV4)
1481 rss_offloads |= RTE_ETH_RSS_NONFRAG_IPV4_TCP;
1482
1483 if (virtio_hash_types & VIRTIO_NET_HASH_TYPE_UDPV4)
1484 rss_offloads |= RTE_ETH_RSS_NONFRAG_IPV4_UDP;
1485
1486 if (virtio_hash_types & VIRTIO_NET_HASH_TYPE_IPV6)
1487 rss_offloads |= RTE_ETH_RSS_IPV6 | RTE_ETH_RSS_FRAG_IPV6 |
1488 RTE_ETH_RSS_NONFRAG_IPV6_OTHER;
1489
1490 if (virtio_hash_types & VIRTIO_NET_HASH_TYPE_TCPV6)
1491 rss_offloads |= RTE_ETH_RSS_NONFRAG_IPV6_TCP;
1492
1493 if (virtio_hash_types & VIRTIO_NET_HASH_TYPE_UDPV6)
1494 rss_offloads |= RTE_ETH_RSS_NONFRAG_IPV6_UDP;
1495
1496 if (virtio_hash_types & VIRTIO_NET_HASH_TYPE_IP_EX)
1497 rss_offloads |= RTE_ETH_RSS_IPV6_EX;
1498
1499 if (virtio_hash_types & VIRTIO_NET_HASH_TYPE_TCP_EX)
1500 rss_offloads |= RTE_ETH_RSS_IPV6_TCP_EX;
1501
1502 if (virtio_hash_types & VIRTIO_NET_HASH_TYPE_UDP_EX)
1503 rss_offloads |= RTE_ETH_RSS_IPV6_UDP_EX;
1504
1505 return rss_offloads;
1506}
1507
1508static int
1509virtio_dev_get_rss_config(struct virtio_hw *hw, uint32_t *rss_hash_types)

Callers 4

virtio_dev_rss_initFunction · 0.85
virtio_dev_info_getFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected