DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] net/ixgbe: fix vlan insert parameter type and its use
@ 2016-10-18 19:13 E. Scott Daniels
  2016-10-19  5:13 ` Lu, Wenzhuo
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: E. Scott Daniels @ 2016-10-18 19:13 UTC (permalink / raw)
  To: helin.zhang, bernard.iremonger; +Cc: dev, az5157, E. Scott Daniels

The final parameter to rte_pmd_ixgbe_set_vf_vlan_insert is uint8_t
and treated as a binary flag when it needs to be a uint16_t
and treated as a VLAN id.  The data sheet (sect 8.2.3.27.13) describes
the right most 16 bits as the VLAN id that is to be inserted; the
16.11  code is accepting only a 1 or 0 thus effectively only
allowing the VLAN id 1 to be inserted (0 disables the insertion
setting).

This patch changes the final parm name to represent the data that
is being accepted (vlan_id), changes the type to permit all valid
VLAN ids, and validates the parameter based on the range of 0 to
4095. Corresponding changes to prototype and documentation in the
.h file.

Fixes:  49e248223e9f71 ("net/ixgbe: add API for VF management")

Signed-off-by: E. Scott Daniels <daniels@research.att.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c  | 8 ++++----
 drivers/net/ixgbe/rte_pmd_ixgbe.h | 9 +++++----
 2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 4ca5747..316af73 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -4727,7 +4727,7 @@ rte_pmd_ixgbe_set_vf_mac_anti_spoof(uint8_t port, uint16_t vf, uint8_t on)
 }
 
 int
-rte_pmd_ixgbe_set_vf_vlan_insert(uint8_t port, uint16_t vf, uint8_t on)
+rte_pmd_ixgbe_set_vf_vlan_insert(uint8_t port, uint16_t vf, uint16_t vlan_id)
 {
 	struct ixgbe_hw *hw;
 	uint32_t ctrl;
@@ -4742,13 +4742,13 @@ rte_pmd_ixgbe_set_vf_vlan_insert(uint8_t port, uint16_t vf, uint8_t on)
 	if (vf >= dev_info.max_vfs)
 		return -EINVAL;
 
-	if (on > 1)
+	if (vlan_id > 4095)
 		return -EINVAL;
 
 	hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 	ctrl = IXGBE_READ_REG(hw, IXGBE_VMVIR(vf));
-	if (on) {
-		ctrl = on;
+	if (vlan_id) {
+		ctrl = vlan_id;
 		ctrl |= IXGBE_VMVIR_VLANA_DEFAULT;
 	} else {
 		ctrl = 0;
diff --git a/drivers/net/ixgbe/rte_pmd_ixgbe.h b/drivers/net/ixgbe/rte_pmd_ixgbe.h
index 2fdf530..c2fb826 100644
--- a/drivers/net/ixgbe/rte_pmd_ixgbe.h
+++ b/drivers/net/ixgbe/rte_pmd_ixgbe.h
@@ -99,16 +99,17 @@ int rte_pmd_ixgbe_set_vf_mac_anti_spoof(uint8_t port, uint16_t vf, uint8_t on);
  *    The port identifier of the Ethernet device.
  * @param vf
  *    ID specifying VF.
- * @param on
- *    1 - Enable VF's vlan insert.
- *    0 - Disable VF's vlan insert
+ * @param vlan_id
+ *    0 - Disable VF's vlan insert.
+ *    n - Enable; n is inserted as the vlan id.
  *
  * @return
  *   - (0) if successful.
  *   - (-ENODEV) if *port* invalid.
  *   - (-EINVAL) if bad parameter.
  */
-int rte_pmd_ixgbe_set_vf_vlan_insert(uint8_t port, uint16_t vf, uint8_t on);
+int rte_pmd_ixgbe_set_vf_vlan_insert(uint8_t port, uint16_t vf,
+		uint16_t vlan_id);
 
 /**
  * Enable/Disable tx loopback
-- 
1.9.1

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2016-10-24 14:19 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-18 19:13 [dpdk-dev] [PATCH] net/ixgbe: fix vlan insert parameter type and its use E. Scott Daniels
2016-10-19  5:13 ` Lu, Wenzhuo
2016-10-19 10:55   ` Iremonger, Bernard
2016-10-19 12:50     ` Scott Daniels
2016-10-19 12:57       ` Iremonger, Bernard
2016-10-19 13:56         ` Scott Daniels
2016-10-20  0:51     ` Lu, Wenzhuo
2016-10-19 12:45   ` Scott Daniels
2016-10-19 14:47 ` [dpdk-dev] [PATCH v2 0/2] net/ixgbe: fix VF VLAN insert Bernard Iremonger
2016-10-20  0:54   ` Lu, Wenzhuo
2016-10-24 14:19     ` Bruce Richardson
2016-10-19 14:47 ` [dpdk-dev] [PATCH v2 1/2] net/ixgbe: fix VLAN insert parameter type and its use Bernard Iremonger
2016-10-19 14:47 ` [dpdk-dev] [PATCH v2 2/2] app/test_pmd: change to the VF VLAN insert command Bernard Iremonger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).