| 1489 | } |
| 1490 | |
| 1491 | static void |
| 1492 | rss_config_display(struct rte_flow_action_rss *rss_conf) |
| 1493 | { |
| 1494 | uint8_t i; |
| 1495 | |
| 1496 | if (rss_conf == NULL) { |
| 1497 | fprintf(stderr, "Invalid rule\n"); |
| 1498 | return; |
| 1499 | } |
| 1500 | |
| 1501 | printf("RSS:\n" |
| 1502 | " queues:"); |
| 1503 | if (rss_conf->queue_num == 0) |
| 1504 | printf(" none"); |
| 1505 | for (i = 0; i < rss_conf->queue_num; i++) |
| 1506 | printf(" %d", rss_conf->queue[i]); |
| 1507 | printf("\n"); |
| 1508 | |
| 1509 | printf(" function: %s\n", rte_eth_dev_rss_algo_name(rss_conf->func)); |
| 1510 | |
| 1511 | printf(" RSS key:\n"); |
| 1512 | if (rss_conf->key_len == 0) { |
| 1513 | printf(" none"); |
| 1514 | } else { |
| 1515 | printf(" key_len: %u\n", rss_conf->key_len); |
| 1516 | printf(" key: "); |
| 1517 | if (rss_conf->key == NULL) { |
| 1518 | printf("none"); |
| 1519 | } else { |
| 1520 | for (i = 0; i < rss_conf->key_len; i++) |
| 1521 | printf("%02X", rss_conf->key[i]); |
| 1522 | } |
| 1523 | } |
| 1524 | printf("\n"); |
| 1525 | |
| 1526 | printf(" types:\n"); |
| 1527 | if (rss_conf->types == 0) { |
| 1528 | printf(" none\n"); |
| 1529 | return; |
| 1530 | } |
| 1531 | rss_types_display(rss_conf->types, TESTPMD_RSS_TYPES_CHAR_NUM_PER_LINE); |
| 1532 | } |
| 1533 | |
| 1534 | static struct port_indirect_action * |
| 1535 | action_get_by_id(portid_t port_id, uint32_t id) |
no test coverage detected