X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fi40e%2Fi40e_tm.c;h=cab296e1a4af58aff18b7a864fafb28dea904b91;hb=902fa8b50d609150f717394ba0c5b72890c66d9b;hp=c76760c97d4d95f155123968759d3548d539e494;hpb=5566a3e35866ce9e5eacf886c27b460ebfcd6ee9;p=dpdk.git diff --git a/drivers/net/i40e/i40e_tm.c b/drivers/net/i40e/i40e_tm.c index c76760c97d..cab296e1a4 100644 --- a/drivers/net/i40e/i40e_tm.c +++ b/drivers/net/i40e/i40e_tm.c @@ -160,12 +160,16 @@ i40e_tm_capabilities_get(struct rte_eth_dev *dev, cap->shaper_private_rate_min = 0; /* 40Gbps -> 5GBps */ cap->shaper_private_rate_max = 5000000000ull; + cap->shaper_private_packet_mode_supported = 0; + cap->shaper_private_byte_mode_supported = 1; cap->shaper_shared_n_max = 0; cap->shaper_shared_n_nodes_per_shaper_max = 0; cap->shaper_shared_n_shapers_per_node_max = 0; cap->shaper_shared_dual_rate_n_max = 0; cap->shaper_shared_rate_min = 0; cap->shaper_shared_rate_max = 0; + cap->shaper_shared_packet_mode_supported = 0; + cap->shaper_shared_byte_mode_supported = 0; cap->sched_n_children_max = hw->func_caps.num_tx_qp; /** * HW supports SP. But no plan to support it now. @@ -179,6 +183,8 @@ i40e_tm_capabilities_get(struct rte_eth_dev *dev, * So, all the nodes should have the same weight. */ cap->sched_wfq_weight_max = 1; + cap->sched_wfq_packet_mode_supported = 0; + cap->sched_wfq_byte_mode_supported = 0; cap->cman_head_drop_supported = 0; cap->dynamic_update_mask = 0; cap->shaper_pkt_length_adjust_min = RTE_TM_ETH_FRAMING_OVERHEAD; @@ -548,7 +554,7 @@ i40e_node_add(struct rte_eth_dev *dev, uint32_t node_id, } /* check level */ if (level_id != RTE_TM_NODE_LEVEL_ID_ANY && - level_id != parent_node_type + 1) { + level_id != (uint32_t)parent_node_type + 1) { error->type = RTE_TM_ERROR_TYPE_NODE_PARAMS; error->message = "Wrong level"; return -EINVAL; @@ -754,7 +760,11 @@ i40e_level_capabilities_get(struct rte_eth_dev *dev, cap->nonleaf.shaper_private_rate_min = 0; /* 40Gbps -> 5GBps */ cap->nonleaf.shaper_private_rate_max = 5000000000ull; + cap->nonleaf.shaper_private_packet_mode_supported = 0; + cap->nonleaf.shaper_private_byte_mode_supported = 1; cap->nonleaf.shaper_shared_n_max = 0; + cap->nonleaf.shaper_shared_packet_mode_supported = 0; + cap->nonleaf.shaper_shared_byte_mode_supported = 0; if (level_id == I40E_TM_NODE_TYPE_PORT) cap->nonleaf.sched_n_children_max = I40E_MAX_TRAFFIC_CLASS; @@ -765,6 +775,8 @@ i40e_level_capabilities_get(struct rte_eth_dev *dev, cap->nonleaf.sched_wfq_n_children_per_group_max = 0; cap->nonleaf.sched_wfq_n_groups_max = 0; cap->nonleaf.sched_wfq_weight_max = 1; + cap->nonleaf.sched_wfq_packet_mode_supported = 0; + cap->nonleaf.sched_wfq_byte_mode_supported = 0; cap->nonleaf.stats_mask = 0; return 0; @@ -776,7 +788,11 @@ i40e_level_capabilities_get(struct rte_eth_dev *dev, cap->leaf.shaper_private_rate_min = 0; /* 40Gbps -> 5GBps */ cap->leaf.shaper_private_rate_max = 5000000000ull; + cap->leaf.shaper_private_packet_mode_supported = 0; + cap->leaf.shaper_private_byte_mode_supported = 1; cap->leaf.shaper_shared_n_max = 0; + cap->leaf.shaper_shared_packet_mode_supported = 0; + cap->leaf.shaper_shared_byte_mode_supported = 0; cap->leaf.cman_head_drop_supported = false; cap->leaf.cman_wred_context_private_supported = true; cap->leaf.cman_wred_context_shared_n_max = 0; @@ -817,7 +833,11 @@ i40e_node_capabilities_get(struct rte_eth_dev *dev, cap->shaper_private_rate_min = 0; /* 40Gbps -> 5GBps */ cap->shaper_private_rate_max = 5000000000ull; + cap->shaper_private_packet_mode_supported = 0; + cap->shaper_private_byte_mode_supported = 1; cap->shaper_shared_n_max = 0; + cap->shaper_shared_packet_mode_supported = 0; + cap->shaper_shared_byte_mode_supported = 0; if (node_type == I40E_TM_NODE_TYPE_QUEUE) { cap->leaf.cman_head_drop_supported = false; @@ -834,6 +854,8 @@ i40e_node_capabilities_get(struct rte_eth_dev *dev, cap->nonleaf.sched_wfq_n_children_per_group_max = 0; cap->nonleaf.sched_wfq_n_groups_max = 0; cap->nonleaf.sched_wfq_weight_max = 1; + cap->nonleaf.sched_wfq_packet_mode_supported = 0; + cap->nonleaf.sched_wfq_byte_mode_supported = 0; } cap->stats_mask = 0;