Use the the following ixgbe public functions:

rte_pmd_ixgbe_set_vf_rate_limit
rte_pmd_ixgbe_set_vf_rx
rte_pmd_ixgbe_set_vf_rxmode
rte_pmd_ixgbe_set_vf_tx
rte_pmd_ixgbe_set_vf_vlan_filter

Signed-off-by: Bernard Iremonger <bernard.iremon...@intel.com>
---
 app/test-pmd/cmdline.c |  2 +-
 app/test-pmd/config.c  | 31 +++++++++++--------------------
 2 files changed, 12 insertions(+), 21 deletions(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index d03a592..12f799b 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -6708,7 +6708,7 @@ cmd_set_vf_rxmode_parsed(void *parsed_result,
                        rx_mode |= ETH_VMDQ_ACCEPT_MULTICAST;
        }
 
-       ret = 
rte_eth_dev_set_vf_rxmode(res->port_id,res->vf_id,rx_mode,(uint8_t)is_on);
+       ret = rte_pmd_ixgbe_set_vf_rxmode(res->port_id, res->vf_id, rx_mode, 
(uint8_t)is_on);
        if (ret < 0)
                printf("bad VF receive mode parameter, return code = %d \n",
                ret);
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index 8cf537d..ea129db 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -92,6 +92,9 @@
 #include <rte_ethdev.h>
 #include <rte_string_fns.h>
 #include <rte_cycles.h>
+#ifdef RTE_LIBRTE_IXGBE_PMD
+#include <rte_pmd_ixgbe.h>
+#endif
 
 #include "testpmd.h"
 
@@ -2332,16 +2335,16 @@ set_vf_traffic(portid_t port_id, uint8_t is_rx, 
uint16_t vf, uint8_t on)
        if (port_id_is_invalid(port_id, ENABLED_WARN))
                return;
        if (is_rx)
-               diag = rte_eth_dev_set_vf_rx(port_id,vf,on);
+               diag = rte_pmd_ixgbe_set_vf_rx(port_id, vf, on);
        else
-               diag = rte_eth_dev_set_vf_tx(port_id,vf,on);
+               diag = rte_pmd_ixgbe_set_vf_tx(port_id, vf, on);
        if (diag == 0)
                return;
        if(is_rx)
-               printf("rte_eth_dev_set_vf_rx for port_id=%d failed "
+               printf("rte_pmd_ixgbe_set_vf_rx for port_id=%d failed "
                        "diag=%d\n", port_id, diag);
        else
-               printf("rte_eth_dev_set_vf_tx for port_id=%d failed "
+               printf("rte_pmd_ixgbe_set_vf_tx for port_id=%d failed "
                        "diag=%d\n", port_id, diag);
 
 }
@@ -2355,10 +2358,10 @@ set_vf_rx_vlan(portid_t port_id, uint16_t vlan_id, 
uint64_t vf_mask, uint8_t on)
                return;
        if (vlan_id_is_invalid(vlan_id))
                return;
-       diag = rte_eth_dev_set_vf_vlan_filter(port_id, vlan_id, vf_mask, on);
+       diag = rte_pmd_ixgbe_set_vf_vlan_filter(port_id, vlan_id, vf_mask, on);
        if (diag == 0)
                return;
-       printf("rte_eth_dev_set_vf_vlan_filter for port_id=%d failed "
+       printf("rte_pmd_ixgbe_set_vf_vlan_filter for port_id=%d failed "
               "diag=%d\n", port_id, diag);
 }
 
@@ -2388,23 +2391,11 @@ int
 set_vf_rate_limit(portid_t port_id, uint16_t vf, uint16_t rate, uint64_t q_msk)
 {
        int diag;
-       struct rte_eth_link link;
-
-       if (q_msk == 0)
-               return 0;
 
-       if (port_id_is_invalid(port_id, ENABLED_WARN))
-               return 1;
-       rte_eth_link_get_nowait(port_id, &link);
-       if (rate > link.link_speed) {
-               printf("Invalid rate value:%u bigger than link speed: %u\n",
-                       rate, link.link_speed);
-               return 1;
-       }
-       diag = rte_eth_set_vf_rate_limit(port_id, vf, rate, q_msk);
+       diag = rte_pmd_ixgbe_set_vf_rate_limit(port_id, vf, rate, q_msk);
        if (diag == 0)
                return diag;
-       printf("rte_eth_set_vf_rate_limit for port_id=%d failed diag=%d\n",
+       printf("rte_pmd_ixgbe_set_vf_rate_limit for port_id=%d failed 
diag=%d\n",
                port_id, diag);
        return diag;
 }
-- 
2.10.1

Reply via email to