* [dpdk-dev] [PATCH v2 0/5] Fixes and supports for txgbe
@ 2021-04-29 10:33 Jiawen Wu
2021-04-29 10:33 ` [dpdk-dev] [PATCH v2 1/5] net/txgbe: fix RSS in QINQ Jiawen Wu
` (5 more replies)
0 siblings, 6 replies; 12+ messages in thread
From: Jiawen Wu @ 2021-04-29 10:33 UTC (permalink / raw)
To: dev; +Cc: Jiawen Wu
Fix some bugs, remove redundant code, add copyright.
v2:
- Add a separate condition to enable and disable QINQ strip.
- Add support for VXLAN-GPE.
- Reword commit logs.
- Remove redundant 'retval' variable.
Jiawen Wu (5):
net/txgbe: fix RSS in QINQ
net/txgbe: fix VF MTU limit setting
net/txgbe: support VXLAN-GPE
net/txgbe: remove port representor
net/txgbe: add copyright owner
doc/guides/nics/txgbe.rst | 2 +-
doc/guides/rel_notes/release_21_05.rst | 1 +
drivers/net/txgbe/base/meson.build | 2 +-
drivers/net/txgbe/base/txgbe.h | 2 +-
drivers/net/txgbe/base/txgbe_dcb.c | 3 +-
drivers/net/txgbe/base/txgbe_dcb.h | 3 +-
drivers/net/txgbe/base/txgbe_dcb_hw.c | 3 +-
drivers/net/txgbe/base/txgbe_dcb_hw.h | 3 +-
drivers/net/txgbe/base/txgbe_devids.h | 2 +-
drivers/net/txgbe/base/txgbe_dummy.h | 2 +-
drivers/net/txgbe/base/txgbe_eeprom.c | 3 +-
drivers/net/txgbe/base/txgbe_eeprom.h | 3 +-
drivers/net/txgbe/base/txgbe_hw.c | 3 +-
drivers/net/txgbe/base/txgbe_hw.h | 3 +-
drivers/net/txgbe/base/txgbe_mbx.c | 3 +-
drivers/net/txgbe/base/txgbe_mbx.h | 3 +-
drivers/net/txgbe/base/txgbe_mng.c | 3 +-
drivers/net/txgbe/base/txgbe_mng.h | 3 +-
drivers/net/txgbe/base/txgbe_osdep.h | 3 +-
drivers/net/txgbe/base/txgbe_phy.c | 3 +-
drivers/net/txgbe/base/txgbe_phy.h | 3 +-
drivers/net/txgbe/base/txgbe_regs.h | 3 +-
drivers/net/txgbe/base/txgbe_status.h | 3 +-
drivers/net/txgbe/base/txgbe_type.h | 3 +-
drivers/net/txgbe/base/txgbe_vf.c | 3 +-
drivers/net/txgbe/base/txgbe_vf.h | 3 +-
drivers/net/txgbe/meson.build | 2 +-
drivers/net/txgbe/rte_pmd_txgbe.h | 3 +-
drivers/net/txgbe/txgbe_ethdev.c | 90 ++++++++++++++++----------
drivers/net/txgbe/txgbe_ethdev.h | 3 +-
drivers/net/txgbe/txgbe_ethdev_vf.c | 15 +++--
drivers/net/txgbe/txgbe_fdir.c | 3 +-
drivers/net/txgbe/txgbe_flow.c | 3 +-
drivers/net/txgbe/txgbe_ipsec.c | 3 +-
drivers/net/txgbe/txgbe_ipsec.h | 3 +-
drivers/net/txgbe/txgbe_logs.h | 3 +-
drivers/net/txgbe/txgbe_pf.c | 3 +-
drivers/net/txgbe/txgbe_ptypes.c | 26 ++++----
drivers/net/txgbe/txgbe_ptypes.h | 2 +-
drivers/net/txgbe/txgbe_regs_group.h | 3 +-
drivers/net/txgbe/txgbe_rxtx.c | 9 ++-
drivers/net/txgbe/txgbe_rxtx.h | 3 +-
drivers/net/txgbe/txgbe_tm.c | 3 +-
43 files changed, 153 insertions(+), 95 deletions(-)
--
2.21.0.windows.1
^ permalink raw reply [flat|nested] 12+ messages in thread
* [dpdk-dev] [PATCH v2 1/5] net/txgbe: fix RSS in QINQ
2021-04-29 10:33 [dpdk-dev] [PATCH v2 0/5] Fixes and supports for txgbe Jiawen Wu
@ 2021-04-29 10:33 ` Jiawen Wu
2021-04-29 14:31 ` [dpdk-dev] [dpdk-stable] " Ferruh Yigit
2021-04-29 10:33 ` [dpdk-dev] [PATCH v2 2/5] net/txgbe: fix VF MTU limit setting Jiawen Wu
` (4 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: Jiawen Wu @ 2021-04-29 10:33 UTC (permalink / raw)
To: dev; +Cc: Jiawen Wu, stable
Support to enable and disable QINQ hardware strip,
when configure vlan offload with QINQ strip mask,
to avoid RSS does not work for QINQ packets.
Fixes: 220b0e49bc47 ("net/txgbe: support VLAN")
Cc: stable@dpdk.org
Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
---
drivers/net/txgbe/txgbe_ethdev.c | 39 +++++++++++++++++++++++++++-----
1 file changed, 33 insertions(+), 6 deletions(-)
diff --git a/drivers/net/txgbe/txgbe_ethdev.c b/drivers/net/txgbe/txgbe_ethdev.c
index 97796f040b..3d6d356102 100644
--- a/drivers/net/txgbe/txgbe_ethdev.c
+++ b/drivers/net/txgbe/txgbe_ethdev.c
@@ -1209,7 +1209,6 @@ txgbe_vlan_hw_extend_disable(struct rte_eth_dev *dev)
ctrl = rd32(hw, TXGBE_PORTCTL);
ctrl &= ~TXGBE_PORTCTL_VLANEXT;
- ctrl &= ~TXGBE_PORTCTL_QINQ;
wr32(hw, TXGBE_PORTCTL, ctrl);
}
@@ -1217,17 +1216,38 @@ static void
txgbe_vlan_hw_extend_enable(struct rte_eth_dev *dev)
{
struct txgbe_hw *hw = TXGBE_DEV_HW(dev);
- struct rte_eth_rxmode *rxmode = &dev->data->dev_conf.rxmode;
- struct rte_eth_txmode *txmode = &dev->data->dev_conf.txmode;
uint32_t ctrl;
PMD_INIT_FUNC_TRACE();
ctrl = rd32(hw, TXGBE_PORTCTL);
ctrl |= TXGBE_PORTCTL_VLANEXT;
- if (rxmode->offloads & DEV_RX_OFFLOAD_QINQ_STRIP ||
- txmode->offloads & DEV_TX_OFFLOAD_QINQ_INSERT)
- ctrl |= TXGBE_PORTCTL_QINQ;
+ wr32(hw, TXGBE_PORTCTL, ctrl);
+}
+
+static void
+txgbe_qinq_hw_strip_disable(struct rte_eth_dev *dev)
+{
+ struct txgbe_hw *hw = TXGBE_DEV_HW(dev);
+ uint32_t ctrl;
+
+ PMD_INIT_FUNC_TRACE();
+
+ ctrl = rd32(hw, TXGBE_PORTCTL);
+ ctrl &= ~TXGBE_PORTCTL_QINQ;
+ wr32(hw, TXGBE_PORTCTL, ctrl);
+}
+
+static void
+txgbe_qinq_hw_strip_enable(struct rte_eth_dev *dev)
+{
+ struct txgbe_hw *hw = TXGBE_DEV_HW(dev);
+ uint32_t ctrl;
+
+ PMD_INIT_FUNC_TRACE();
+
+ ctrl = rd32(hw, TXGBE_PORTCTL);
+ ctrl |= TXGBE_PORTCTL_QINQ | TXGBE_PORTCTL_VLANEXT;
wr32(hw, TXGBE_PORTCTL, ctrl);
}
@@ -1294,6 +1314,13 @@ txgbe_vlan_offload_config(struct rte_eth_dev *dev, int mask)
txgbe_vlan_hw_extend_disable(dev);
}
+ if (mask & ETH_QINQ_STRIP_MASK) {
+ if (rxmode->offloads & DEV_RX_OFFLOAD_QINQ_STRIP)
+ txgbe_qinq_hw_strip_enable(dev);
+ else
+ txgbe_qinq_hw_strip_disable(dev);
+ }
+
return 0;
}
--
2.21.0.windows.1
^ permalink raw reply [flat|nested] 12+ messages in thread
* [dpdk-dev] [PATCH v2 2/5] net/txgbe: fix VF MTU limit setting
2021-04-29 10:33 [dpdk-dev] [PATCH v2 0/5] Fixes and supports for txgbe Jiawen Wu
2021-04-29 10:33 ` [dpdk-dev] [PATCH v2 1/5] net/txgbe: fix RSS in QINQ Jiawen Wu
@ 2021-04-29 10:33 ` Jiawen Wu
2021-04-29 14:59 ` [dpdk-dev] [dpdk-stable] " Ferruh Yigit
2021-04-29 10:33 ` [dpdk-dev] [PATCH v2 3/5] net/txgbe: support VXLAN-GPE Jiawen Wu
` (3 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: Jiawen Wu @ 2021-04-29 10:33 UTC (permalink / raw)
To: dev; +Cc: Jiawen Wu, stable
Add the dev_started check to remove the limitation of VF MTU setting.
When device is stopped, it is allowed to set MTU bigger than mbuf size.
Scattered rx may be enabled in next starting, exempt from setting in
EAL parameters.
Fixes: a2beaa4a769e ("net/txgbe: support VF MTU update")
Cc: stable@dpdk.org
Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
---
drivers/net/txgbe/txgbe_ethdev_vf.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/drivers/net/txgbe/txgbe_ethdev_vf.c b/drivers/net/txgbe/txgbe_ethdev_vf.c
index 3a5123733e..5597968e18 100644
--- a/drivers/net/txgbe/txgbe_ethdev_vf.c
+++ b/drivers/net/txgbe/txgbe_ethdev_vf.c
@@ -1115,7 +1115,7 @@ txgbevf_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu)
{
struct txgbe_hw *hw;
uint32_t max_frame = mtu + RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN;
- struct rte_eth_rxmode *rx_conf = &dev->data->dev_conf.rxmode;
+ struct rte_eth_dev_data *dev_data = dev->data;
hw = TXGBE_DEV_HW(dev);
@@ -1123,13 +1123,15 @@ txgbevf_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu)
max_frame > RTE_ETHER_MAX_JUMBO_FRAME_LEN)
return -EINVAL;
- /* refuse mtu that requires the support of scattered packets when this
- * feature has not been enabled before.
+ /* If device is started, refuse mtu that requires the support of
+ * scattered packets when this feature has not been enabled before.
*/
- if (!(rx_conf->offloads & DEV_RX_OFFLOAD_SCATTER) &&
+ if (dev_data->dev_started && !dev_data->scattered_rx &&
(max_frame + 2 * TXGBE_VLAN_TAG_SIZE >
- dev->data->min_rx_buf_size - RTE_PKTMBUF_HEADROOM))
+ dev->data->min_rx_buf_size - RTE_PKTMBUF_HEADROOM)) {
+ PMD_INIT_LOG(ERR, "Stop port first.");
return -EINVAL;
+ }
/*
* When supported by the underlying PF driver, use the TXGBE_VF_SET_MTU
--
2.21.0.windows.1
^ permalink raw reply [flat|nested] 12+ messages in thread
* [dpdk-dev] [PATCH v2 3/5] net/txgbe: support VXLAN-GPE
2021-04-29 10:33 [dpdk-dev] [PATCH v2 0/5] Fixes and supports for txgbe Jiawen Wu
2021-04-29 10:33 ` [dpdk-dev] [PATCH v2 1/5] net/txgbe: fix RSS in QINQ Jiawen Wu
2021-04-29 10:33 ` [dpdk-dev] [PATCH v2 2/5] net/txgbe: fix VF MTU limit setting Jiawen Wu
@ 2021-04-29 10:33 ` Jiawen Wu
2021-04-29 10:33 ` [dpdk-dev] [PATCH v2 4/5] net/txgbe: remove port representor Jiawen Wu
` (2 subsequent siblings)
5 siblings, 0 replies; 12+ messages in thread
From: Jiawen Wu @ 2021-04-29 10:33 UTC (permalink / raw)
To: dev; +Cc: Jiawen Wu
Support VXLAN-GPE in udp tunnel port add and delete.
Fix to parsing packet type to pass hardware checksum.
Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
---
doc/guides/rel_notes/release_21_05.rst | 1 +
drivers/net/txgbe/txgbe_ethdev.c | 20 ++++++++++++++++++--
drivers/net/txgbe/txgbe_ptypes.c | 24 ++++++++++++------------
drivers/net/txgbe/txgbe_rxtx.c | 6 ++++--
4 files changed, 35 insertions(+), 16 deletions(-)
diff --git a/doc/guides/rel_notes/release_21_05.rst b/doc/guides/rel_notes/release_21_05.rst
index b3224dc332..a090ff3560 100644
--- a/doc/guides/rel_notes/release_21_05.rst
+++ b/doc/guides/rel_notes/release_21_05.rst
@@ -179,6 +179,7 @@ New Features
* Added support for txgbevf PMD.
* Support device arguments to handle AN training for backplane NICs.
+ * Added support for VXLAN-GPE.
* **Enabled vmxnet3 PMD on Windows.**
diff --git a/drivers/net/txgbe/txgbe_ethdev.c b/drivers/net/txgbe/txgbe_ethdev.c
index 3d6d356102..ddf8a18ac5 100644
--- a/drivers/net/txgbe/txgbe_ethdev.c
+++ b/drivers/net/txgbe/txgbe_ethdev.c
@@ -5020,7 +5020,6 @@ txgbe_dev_udp_tunnel_port_add(struct rte_eth_dev *dev,
break;
}
wr32(hw, TXGBE_VXLANPORT, udp_tunnel->udp_port);
- wr32(hw, TXGBE_VXLANPORTGPE, udp_tunnel->udp_port);
break;
case RTE_TUNNEL_TYPE_GENEVE:
if (udp_tunnel->udp_port == 0) {
@@ -5038,6 +5037,14 @@ txgbe_dev_udp_tunnel_port_add(struct rte_eth_dev *dev,
}
wr32(hw, TXGBE_TEREDOPORT, udp_tunnel->udp_port);
break;
+ case RTE_TUNNEL_TYPE_VXLAN_GPE:
+ if (udp_tunnel->udp_port == 0) {
+ PMD_DRV_LOG(ERR, "Add VxLAN port 0 is not allowed.");
+ ret = -EINVAL;
+ break;
+ }
+ wr32(hw, TXGBE_VXLANPORTGPE, udp_tunnel->udp_port);
+ break;
default:
PMD_DRV_LOG(ERR, "Invalid tunnel type");
ret = -EINVAL;
@@ -5071,7 +5078,6 @@ txgbe_dev_udp_tunnel_port_del(struct rte_eth_dev *dev,
break;
}
wr32(hw, TXGBE_VXLANPORT, 0);
- wr32(hw, TXGBE_VXLANPORTGPE, 0);
break;
case RTE_TUNNEL_TYPE_GENEVE:
cur_port = (uint16_t)rd32(hw, TXGBE_GENEVEPORT);
@@ -5093,6 +5099,16 @@ txgbe_dev_udp_tunnel_port_del(struct rte_eth_dev *dev,
}
wr32(hw, TXGBE_TEREDOPORT, 0);
break;
+ case RTE_TUNNEL_TYPE_VXLAN_GPE:
+ cur_port = (uint16_t)rd32(hw, TXGBE_VXLANPORTGPE);
+ if (cur_port != udp_tunnel->udp_port) {
+ PMD_DRV_LOG(ERR, "Port %u does not exist.",
+ udp_tunnel->udp_port);
+ ret = -EINVAL;
+ break;
+ }
+ wr32(hw, TXGBE_VXLANPORTGPE, 0);
+ break;
default:
PMD_DRV_LOG(ERR, "Invalid tunnel type");
ret = -EINVAL;
diff --git a/drivers/net/txgbe/txgbe_ptypes.c b/drivers/net/txgbe/txgbe_ptypes.c
index 7009f20821..957b03631a 100644
--- a/drivers/net/txgbe/txgbe_ptypes.c
+++ b/drivers/net/txgbe/txgbe_ptypes.c
@@ -102,17 +102,17 @@ static u32 txgbe_ptype_lookup[TXGBE_PTID_MAX] __rte_cache_aligned = {
TPTE(0x8C, ETHER, IPV4, NONE, IP, NONE, IPV6, TCP),
TPTE(0x8D, ETHER, IPV4, NONE, IP, NONE, IPV6, SCTP),
/* IPv4 -> GRE/Teredo/VXLAN -> NONE/IPv4/IPv6 */
- TPTE(0x90, ETHER, IPV4, NONE, GRENAT, NONE, NONE, NONE),
- TPTE(0x91, ETHER, IPV4, NONE, GRENAT, NONE, IPV4, FRAG),
- TPTE(0x92, ETHER, IPV4, NONE, GRENAT, NONE, IPV4, NONFRAG),
- TPTE(0x93, ETHER, IPV4, NONE, GRENAT, NONE, IPV4, UDP),
- TPTE(0x94, ETHER, IPV4, NONE, GRENAT, NONE, IPV4, TCP),
- TPTE(0x95, ETHER, IPV4, NONE, GRENAT, NONE, IPV4, SCTP),
- TPTE(0x99, ETHER, IPV4, NONE, GRENAT, NONE, IPV6, FRAG),
- TPTE(0x9A, ETHER, IPV4, NONE, GRENAT, NONE, IPV6, NONFRAG),
- TPTE(0x9B, ETHER, IPV4, NONE, GRENAT, NONE, IPV6, UDP),
- TPTE(0x9C, ETHER, IPV4, NONE, GRENAT, NONE, IPV6, TCP),
- TPTE(0x9D, ETHER, IPV4, NONE, GRENAT, NONE, IPV6, SCTP),
+ TPTE(0x90, ETHER, IPV4, NONE, VXLAN_GPE, NONE, NONE, NONE),
+ TPTE(0x91, ETHER, IPV4, NONE, VXLAN_GPE, NONE, IPV4, FRAG),
+ TPTE(0x92, ETHER, IPV4, NONE, VXLAN_GPE, NONE, IPV4, NONFRAG),
+ TPTE(0x93, ETHER, IPV4, NONE, VXLAN_GPE, NONE, IPV4, UDP),
+ TPTE(0x94, ETHER, IPV4, NONE, VXLAN_GPE, NONE, IPV4, TCP),
+ TPTE(0x95, ETHER, IPV4, NONE, VXLAN_GPE, NONE, IPV4, SCTP),
+ TPTE(0x99, ETHER, IPV4, NONE, VXLAN_GPE, NONE, IPV6, FRAG),
+ TPTE(0x9A, ETHER, IPV4, NONE, VXLAN_GPE, NONE, IPV6, NONFRAG),
+ TPTE(0x9B, ETHER, IPV4, NONE, VXLAN_GPE, NONE, IPV6, UDP),
+ TPTE(0x9C, ETHER, IPV4, NONE, VXLAN_GPE, NONE, IPV6, TCP),
+ TPTE(0x9D, ETHER, IPV4, NONE, VXLAN_GPE, NONE, IPV6, SCTP),
/* IPv4 -> GRE/Teredo/VXLAN -> MAC -> NONE/IPv4/IPv6 */
TPTE(0xA0, ETHER, IPV4, NONE, GRENAT, ETHER, NONE, NONE),
TPTE(0xA1, ETHER, IPV4, NONE, GRENAT, ETHER, IPV4, FRAG),
@@ -320,10 +320,10 @@ txgbe_encode_ptype_tunnel(u32 ptype)
ptid |= TXGBE_PTID_TUN_EI;
break;
case RTE_PTYPE_TUNNEL_GRE:
+ case RTE_PTYPE_TUNNEL_VXLAN_GPE:
ptid |= TXGBE_PTID_TUN_EIG;
break;
case RTE_PTYPE_TUNNEL_VXLAN:
- case RTE_PTYPE_TUNNEL_VXLAN_GPE:
case RTE_PTYPE_TUNNEL_NVGRE:
case RTE_PTYPE_TUNNEL_GENEVE:
case RTE_PTYPE_TUNNEL_GRENAT:
diff --git a/drivers/net/txgbe/txgbe_rxtx.c b/drivers/net/txgbe/txgbe_rxtx.c
index a70bf0b9c6..8dd1a6ce4a 100644
--- a/drivers/net/txgbe/txgbe_rxtx.c
+++ b/drivers/net/txgbe/txgbe_rxtx.c
@@ -58,6 +58,7 @@ static const u64 TXGBE_TX_OFFLOAD_MASK = (PKT_TX_IP_CKSUM |
PKT_TX_TCP_SEG |
PKT_TX_TUNNEL_MASK |
PKT_TX_OUTER_IP_CKSUM |
+ PKT_TX_OUTER_UDP_CKSUM |
#ifdef RTE_LIB_SECURITY
PKT_TX_SEC_OFFLOAD |
#endif
@@ -389,6 +390,7 @@ txgbe_set_xmit_ctx(struct txgbe_tx_queue *txq,
/* for non UDP / GRE tunneling, set to 0b */
break;
case PKT_TX_TUNNEL_VXLAN:
+ case PKT_TX_TUNNEL_VXLAN_GPE:
case PKT_TX_TUNNEL_GENEVE:
tunnel_seed |= TXGBE_TXD_ETYPE_UDP;
break;
@@ -580,7 +582,6 @@ tx_desc_ol_flags_to_ptid(uint64_t oflags, uint32_t ptype)
ptype |= RTE_PTYPE_L2_ETHER |
RTE_PTYPE_L3_IPV4 |
RTE_PTYPE_TUNNEL_VXLAN_GPE;
- ptype |= RTE_PTYPE_INNER_L2_ETHER;
break;
case PKT_TX_TUNNEL_IPIP:
case PKT_TX_TUNNEL_IP:
@@ -2220,7 +2221,8 @@ txgbe_get_tx_port_offloads(struct rte_eth_dev *dev)
tx_offload_capa |= DEV_TX_OFFLOAD_MACSEC_INSERT;
- tx_offload_capa |= DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM;
+ tx_offload_capa |= DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM |
+ DEV_TX_OFFLOAD_OUTER_UDP_CKSUM;
#ifdef RTE_LIB_SECURITY
if (dev->security_ctx)
--
2.21.0.windows.1
^ permalink raw reply [flat|nested] 12+ messages in thread
* [dpdk-dev] [PATCH v2 4/5] net/txgbe: remove port representor
2021-04-29 10:33 [dpdk-dev] [PATCH v2 0/5] Fixes and supports for txgbe Jiawen Wu
` (2 preceding siblings ...)
2021-04-29 10:33 ` [dpdk-dev] [PATCH v2 3/5] net/txgbe: support VXLAN-GPE Jiawen Wu
@ 2021-04-29 10:33 ` Jiawen Wu
2021-04-29 10:33 ` [dpdk-dev] [PATCH v2 5/5] net/txgbe: add copyright owner Jiawen Wu
2021-04-29 15:02 ` [dpdk-dev] [PATCH v2 0/5] Fixes and supports for txgbe Ferruh Yigit
5 siblings, 0 replies; 12+ messages in thread
From: Jiawen Wu @ 2021-04-29 10:33 UTC (permalink / raw)
To: dev; +Cc: Jiawen Wu
Remove port representor in device probe process, because it is not
supported by the driver yet.
Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
---
drivers/net/txgbe/txgbe_ethdev.c | 28 ++--------------------------
1 file changed, 2 insertions(+), 26 deletions(-)
diff --git a/drivers/net/txgbe/txgbe_ethdev.c b/drivers/net/txgbe/txgbe_ethdev.c
index ddf8a18ac5..c932cca6f5 100644
--- a/drivers/net/txgbe/txgbe_ethdev.c
+++ b/drivers/net/txgbe/txgbe_ethdev.c
@@ -930,34 +930,10 @@ static int
eth_txgbe_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
struct rte_pci_device *pci_dev)
{
- struct rte_eth_dev *pf_ethdev;
- struct rte_eth_devargs eth_da;
- int retval;
-
- if (pci_dev->device.devargs) {
- retval = rte_eth_devargs_parse(pci_dev->device.devargs->args,
- ð_da);
- if (retval)
- return retval;
- } else {
- memset(ð_da, 0, sizeof(eth_da));
- }
-
- retval = rte_eth_dev_create(&pci_dev->device, pci_dev->device.name,
+ return rte_eth_dev_create(&pci_dev->device, pci_dev->device.name,
sizeof(struct txgbe_adapter),
eth_dev_pci_specific_init, pci_dev,
eth_txgbe_dev_init, NULL);
-
- if (retval || eth_da.nb_representor_ports < 1)
- return retval;
- if (eth_da.type != RTE_ETH_REPRESENTOR_VF)
- return -ENOTSUP;
-
- pf_ethdev = rte_eth_dev_allocated(pci_dev->device.name);
- if (pf_ethdev == NULL)
- return -ENODEV;
-
- return 0;
}
static int eth_txgbe_pci_remove(struct rte_pci_device *pci_dev)
@@ -966,7 +942,7 @@ static int eth_txgbe_pci_remove(struct rte_pci_device *pci_dev)
ethdev = rte_eth_dev_allocated(pci_dev->device.name);
if (!ethdev)
- return -ENODEV;
+ return 0;
return rte_eth_dev_destroy(ethdev, eth_txgbe_dev_uninit);
}
--
2.21.0.windows.1
^ permalink raw reply [flat|nested] 12+ messages in thread
* [dpdk-dev] [PATCH v2 5/5] net/txgbe: add copyright owner
2021-04-29 10:33 [dpdk-dev] [PATCH v2 0/5] Fixes and supports for txgbe Jiawen Wu
` (3 preceding siblings ...)
2021-04-29 10:33 ` [dpdk-dev] [PATCH v2 4/5] net/txgbe: remove port representor Jiawen Wu
@ 2021-04-29 10:33 ` Jiawen Wu
2021-04-29 14:59 ` Ferruh Yigit
2021-04-29 15:02 ` [dpdk-dev] [PATCH v2 0/5] Fixes and supports for txgbe Ferruh Yigit
5 siblings, 1 reply; 12+ messages in thread
From: Jiawen Wu @ 2021-04-29 10:33 UTC (permalink / raw)
To: dev; +Cc: Jiawen Wu
All rights reserved by Beijing Wangxun Technology Co., Ltd.
Part of the code references Intel.
Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
---
doc/guides/nics/txgbe.rst | 2 +-
drivers/net/txgbe/base/meson.build | 2 +-
drivers/net/txgbe/base/txgbe.h | 2 +-
drivers/net/txgbe/base/txgbe_dcb.c | 3 ++-
drivers/net/txgbe/base/txgbe_dcb.h | 3 ++-
drivers/net/txgbe/base/txgbe_dcb_hw.c | 3 ++-
drivers/net/txgbe/base/txgbe_dcb_hw.h | 3 ++-
drivers/net/txgbe/base/txgbe_devids.h | 2 +-
drivers/net/txgbe/base/txgbe_dummy.h | 2 +-
drivers/net/txgbe/base/txgbe_eeprom.c | 3 ++-
drivers/net/txgbe/base/txgbe_eeprom.h | 3 ++-
drivers/net/txgbe/base/txgbe_hw.c | 3 ++-
drivers/net/txgbe/base/txgbe_hw.h | 3 ++-
drivers/net/txgbe/base/txgbe_mbx.c | 3 ++-
drivers/net/txgbe/base/txgbe_mbx.h | 3 ++-
drivers/net/txgbe/base/txgbe_mng.c | 3 ++-
drivers/net/txgbe/base/txgbe_mng.h | 3 ++-
drivers/net/txgbe/base/txgbe_osdep.h | 3 ++-
drivers/net/txgbe/base/txgbe_phy.c | 3 ++-
drivers/net/txgbe/base/txgbe_phy.h | 3 ++-
drivers/net/txgbe/base/txgbe_regs.h | 3 ++-
drivers/net/txgbe/base/txgbe_status.h | 3 ++-
drivers/net/txgbe/base/txgbe_type.h | 3 ++-
drivers/net/txgbe/base/txgbe_vf.c | 3 ++-
drivers/net/txgbe/base/txgbe_vf.h | 3 ++-
drivers/net/txgbe/meson.build | 2 +-
drivers/net/txgbe/rte_pmd_txgbe.h | 3 ++-
drivers/net/txgbe/txgbe_ethdev.c | 3 ++-
drivers/net/txgbe/txgbe_ethdev.h | 3 ++-
drivers/net/txgbe/txgbe_ethdev_vf.c | 3 ++-
drivers/net/txgbe/txgbe_fdir.c | 3 ++-
drivers/net/txgbe/txgbe_flow.c | 3 ++-
drivers/net/txgbe/txgbe_ipsec.c | 3 ++-
drivers/net/txgbe/txgbe_ipsec.h | 3 ++-
drivers/net/txgbe/txgbe_logs.h | 3 ++-
drivers/net/txgbe/txgbe_pf.c | 3 ++-
drivers/net/txgbe/txgbe_ptypes.c | 2 +-
drivers/net/txgbe/txgbe_ptypes.h | 2 +-
drivers/net/txgbe/txgbe_regs_group.h | 3 ++-
drivers/net/txgbe/txgbe_rxtx.c | 3 ++-
drivers/net/txgbe/txgbe_rxtx.h | 3 ++-
drivers/net/txgbe/txgbe_tm.c | 3 ++-
42 files changed, 76 insertions(+), 42 deletions(-)
diff --git a/doc/guides/nics/txgbe.rst b/doc/guides/nics/txgbe.rst
index 39a157eb87..2c2b6549f1 100644
--- a/doc/guides/nics/txgbe.rst
+++ b/doc/guides/nics/txgbe.rst
@@ -1,5 +1,5 @@
.. SPDX-License-Identifier: BSD-3-Clause
- Copyright(c) 2015-2020.
+ Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
TXGBE Poll Mode Driver
======================
diff --git a/drivers/net/txgbe/base/meson.build b/drivers/net/txgbe/base/meson.build
index 94db39ce2e..c6816b4279 100644
--- a/drivers/net/txgbe/base/meson.build
+++ b/drivers/net/txgbe/base/meson.build
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015-2020
+# Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
sources = [
'txgbe_dcb_hw.c',
diff --git a/drivers/net/txgbe/base/txgbe.h b/drivers/net/txgbe/base/txgbe.h
index d7199512b8..673a299860 100644
--- a/drivers/net/txgbe/base/txgbe.h
+++ b/drivers/net/txgbe/base/txgbe.h
@@ -1,5 +1,5 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
*/
#ifndef _TXGBE_H_
diff --git a/drivers/net/txgbe/base/txgbe_dcb.c b/drivers/net/txgbe/base/txgbe_dcb.c
index 7e9a16cfe9..cb6fb76146 100644
--- a/drivers/net/txgbe/base/txgbe_dcb.c
+++ b/drivers/net/txgbe/base/txgbe_dcb.c
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#include "txgbe_type.h"
diff --git a/drivers/net/txgbe/base/txgbe_dcb.h b/drivers/net/txgbe/base/txgbe_dcb.h
index cd87cf305b..6aa575c30c 100644
--- a/drivers/net/txgbe/base/txgbe_dcb.h
+++ b/drivers/net/txgbe/base/txgbe_dcb.h
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#ifndef _TXGBE_DCB_H_
diff --git a/drivers/net/txgbe/base/txgbe_dcb_hw.c b/drivers/net/txgbe/base/txgbe_dcb_hw.c
index 42742d04f7..25273d2391 100644
--- a/drivers/net/txgbe/base/txgbe_dcb_hw.c
+++ b/drivers/net/txgbe/base/txgbe_dcb_hw.c
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#include "txgbe_type.h"
diff --git a/drivers/net/txgbe/base/txgbe_dcb_hw.h b/drivers/net/txgbe/base/txgbe_dcb_hw.h
index a365d596e3..ecdb38e1e8 100644
--- a/drivers/net/txgbe/base/txgbe_dcb_hw.h
+++ b/drivers/net/txgbe/base/txgbe_dcb_hw.h
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#ifndef _TXGBE_DCB_HW_H_
diff --git a/drivers/net/txgbe/base/txgbe_devids.h b/drivers/net/txgbe/base/txgbe_devids.h
index cb186170e6..a3f26eabf6 100644
--- a/drivers/net/txgbe/base/txgbe_devids.h
+++ b/drivers/net/txgbe/base/txgbe_devids.h
@@ -1,5 +1,5 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
*/
#ifndef _TXGBE_DEVIDS_H_
diff --git a/drivers/net/txgbe/base/txgbe_dummy.h b/drivers/net/txgbe/base/txgbe_dummy.h
index b62501d65c..dcabe66de1 100644
--- a/drivers/net/txgbe/base/txgbe_dummy.h
+++ b/drivers/net/txgbe/base/txgbe_dummy.h
@@ -1,5 +1,5 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
*/
#ifndef _TXGBE_TYPE_DUMMY_H_
diff --git a/drivers/net/txgbe/base/txgbe_eeprom.c b/drivers/net/txgbe/base/txgbe_eeprom.c
index bcbf3503c8..72901cd0b0 100644
--- a/drivers/net/txgbe/base/txgbe_eeprom.c
+++ b/drivers/net/txgbe/base/txgbe_eeprom.c
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#include "txgbe_hw.h"
diff --git a/drivers/net/txgbe/base/txgbe_eeprom.h b/drivers/net/txgbe/base/txgbe_eeprom.h
index 3a5d7c6215..0d89ca9ebf 100644
--- a/drivers/net/txgbe/base/txgbe_eeprom.h
+++ b/drivers/net/txgbe/base/txgbe_eeprom.h
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#ifndef _TXGBE_EEPROM_H_
diff --git a/drivers/net/txgbe/base/txgbe_hw.c b/drivers/net/txgbe/base/txgbe_hw.c
index 3e7f2f9a3f..00a8db78bf 100644
--- a/drivers/net/txgbe/base/txgbe_hw.c
+++ b/drivers/net/txgbe/base/txgbe_hw.c
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#include "txgbe_type.h"
diff --git a/drivers/net/txgbe/base/txgbe_hw.h b/drivers/net/txgbe/base/txgbe_hw.h
index a7473e7e5d..fd2f7d784c 100644
--- a/drivers/net/txgbe/base/txgbe_hw.h
+++ b/drivers/net/txgbe/base/txgbe_hw.h
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#ifndef _TXGBE_HW_H_
diff --git a/drivers/net/txgbe/base/txgbe_mbx.c b/drivers/net/txgbe/base/txgbe_mbx.c
index b308839e78..4d64c6c3e9 100644
--- a/drivers/net/txgbe/base/txgbe_mbx.c
+++ b/drivers/net/txgbe/base/txgbe_mbx.c
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#include "txgbe_type.h"
diff --git a/drivers/net/txgbe/base/txgbe_mbx.h b/drivers/net/txgbe/base/txgbe_mbx.h
index 786a355f7b..894ad6a2f7 100644
--- a/drivers/net/txgbe/base/txgbe_mbx.h
+++ b/drivers/net/txgbe/base/txgbe_mbx.h
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#ifndef _TXGBE_MBX_H_
diff --git a/drivers/net/txgbe/base/txgbe_mng.c b/drivers/net/txgbe/base/txgbe_mng.c
index 224e48f5e1..dbe512122c 100644
--- a/drivers/net/txgbe/base/txgbe_mng.c
+++ b/drivers/net/txgbe/base/txgbe_mng.c
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#include "txgbe_type.h"
diff --git a/drivers/net/txgbe/base/txgbe_mng.h b/drivers/net/txgbe/base/txgbe_mng.h
index 7514cc1e1e..1004f41c72 100644
--- a/drivers/net/txgbe/base/txgbe_mng.h
+++ b/drivers/net/txgbe/base/txgbe_mng.h
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#ifndef _TXGBE_MNG_H_
diff --git a/drivers/net/txgbe/base/txgbe_osdep.h b/drivers/net/txgbe/base/txgbe_osdep.h
index 074d7a3062..11fcf7e8fe 100644
--- a/drivers/net/txgbe/base/txgbe_osdep.h
+++ b/drivers/net/txgbe/base/txgbe_osdep.h
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#ifndef _TXGBE_OS_H_
diff --git a/drivers/net/txgbe/base/txgbe_phy.c b/drivers/net/txgbe/base/txgbe_phy.c
index dabc346f5f..3e9f507212 100644
--- a/drivers/net/txgbe/base/txgbe_phy.c
+++ b/drivers/net/txgbe/base/txgbe_phy.c
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#include "txgbe_hw.h"
diff --git a/drivers/net/txgbe/base/txgbe_phy.h b/drivers/net/txgbe/base/txgbe_phy.h
index 56531c4f87..5093d83b97 100644
--- a/drivers/net/txgbe/base/txgbe_phy.h
+++ b/drivers/net/txgbe/base/txgbe_phy.h
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#ifndef _TXGBE_PHY_H_
diff --git a/drivers/net/txgbe/base/txgbe_regs.h b/drivers/net/txgbe/base/txgbe_regs.h
index eb30c60a9e..990589b013 100644
--- a/drivers/net/txgbe/base/txgbe_regs.h
+++ b/drivers/net/txgbe/base/txgbe_regs.h
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#ifndef _TXGBE_REGS_H_
diff --git a/drivers/net/txgbe/base/txgbe_status.h b/drivers/net/txgbe/base/txgbe_status.h
index db5e521e45..5b022bf02d 100644
--- a/drivers/net/txgbe/base/txgbe_status.h
+++ b/drivers/net/txgbe/base/txgbe_status.h
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#ifndef _TXGBE_STATUS_H_
diff --git a/drivers/net/txgbe/base/txgbe_type.h b/drivers/net/txgbe/base/txgbe_type.h
index b69e7b85ba..823c6756e7 100644
--- a/drivers/net/txgbe/base/txgbe_type.h
+++ b/drivers/net/txgbe/base/txgbe_type.h
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#ifndef _TXGBE_TYPE_H_
diff --git a/drivers/net/txgbe/base/txgbe_vf.c b/drivers/net/txgbe/base/txgbe_vf.c
index 416c8964fc..fb6d6d90ea 100644
--- a/drivers/net/txgbe/base/txgbe_vf.c
+++ b/drivers/net/txgbe/base/txgbe_vf.c
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#include "txgbe_mbx.h"
diff --git a/drivers/net/txgbe/base/txgbe_vf.h b/drivers/net/txgbe/base/txgbe_vf.h
index 39714d1020..c3a90ab861 100644
--- a/drivers/net/txgbe/base/txgbe_vf.h
+++ b/drivers/net/txgbe/base/txgbe_vf.h
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#ifndef _TXGBE_VF_H_
diff --git a/drivers/net/txgbe/meson.build b/drivers/net/txgbe/meson.build
index 5fbbbd56f1..14729a6cf3 100644
--- a/drivers/net/txgbe/meson.build
+++ b/drivers/net/txgbe/meson.build
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015-2020
+# Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
if is_windows
build = false
diff --git a/drivers/net/txgbe/rte_pmd_txgbe.h b/drivers/net/txgbe/rte_pmd_txgbe.h
index 51a316f6f6..d222fc3537 100644
--- a/drivers/net/txgbe/rte_pmd_txgbe.h
+++ b/drivers/net/txgbe/rte_pmd_txgbe.h
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
/**
diff --git a/drivers/net/txgbe/txgbe_ethdev.c b/drivers/net/txgbe/txgbe_ethdev.c
index c932cca6f5..7a9204a515 100644
--- a/drivers/net/txgbe/txgbe_ethdev.c
+++ b/drivers/net/txgbe/txgbe_ethdev.c
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#include <stdio.h>
diff --git a/drivers/net/txgbe/txgbe_ethdev.h b/drivers/net/txgbe/txgbe_ethdev.h
index 8d46e6bb52..3021933965 100644
--- a/drivers/net/txgbe/txgbe_ethdev.h
+++ b/drivers/net/txgbe/txgbe_ethdev.h
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#ifndef _TXGBE_ETHDEV_H_
diff --git a/drivers/net/txgbe/txgbe_ethdev_vf.c b/drivers/net/txgbe/txgbe_ethdev_vf.c
index 5597968e18..6f577f4c80 100644
--- a/drivers/net/txgbe/txgbe_ethdev_vf.c
+++ b/drivers/net/txgbe/txgbe_ethdev_vf.c
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#include <sys/queue.h>
diff --git a/drivers/net/txgbe/txgbe_fdir.c b/drivers/net/txgbe/txgbe_fdir.c
index 6ddb023c09..c8ff4b142c 100644
--- a/drivers/net/txgbe/txgbe_fdir.c
+++ b/drivers/net/txgbe/txgbe_fdir.c
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#include <stdio.h>
diff --git a/drivers/net/txgbe/txgbe_flow.c b/drivers/net/txgbe/txgbe_flow.c
index 57a4f2e172..9a375adf45 100644
--- a/drivers/net/txgbe/txgbe_flow.c
+++ b/drivers/net/txgbe/txgbe_flow.c
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#include <sys/queue.h>
diff --git a/drivers/net/txgbe/txgbe_ipsec.c b/drivers/net/txgbe/txgbe_ipsec.c
index a43b95aa2b..ccd747973b 100644
--- a/drivers/net/txgbe/txgbe_ipsec.c
+++ b/drivers/net/txgbe/txgbe_ipsec.c
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#include <ethdev_pci.h>
diff --git a/drivers/net/txgbe/txgbe_ipsec.h b/drivers/net/txgbe/txgbe_ipsec.h
index 5edd6b5076..995e29eafa 100644
--- a/drivers/net/txgbe/txgbe_ipsec.h
+++ b/drivers/net/txgbe/txgbe_ipsec.h
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#ifndef TXGBE_IPSEC_H_
diff --git a/drivers/net/txgbe/txgbe_logs.h b/drivers/net/txgbe/txgbe_logs.h
index 6764466e21..67e9bfb3af 100644
--- a/drivers/net/txgbe/txgbe_logs.h
+++ b/drivers/net/txgbe/txgbe_logs.h
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#ifndef _TXGBE_LOGS_H_
diff --git a/drivers/net/txgbe/txgbe_pf.c b/drivers/net/txgbe/txgbe_pf.c
index e4bd990b96..494d779a3c 100644
--- a/drivers/net/txgbe/txgbe_pf.c
+++ b/drivers/net/txgbe/txgbe_pf.c
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#include <stdio.h>
diff --git a/drivers/net/txgbe/txgbe_ptypes.c b/drivers/net/txgbe/txgbe_ptypes.c
index 957b03631a..c8a8a3839d 100644
--- a/drivers/net/txgbe/txgbe_ptypes.c
+++ b/drivers/net/txgbe/txgbe_ptypes.c
@@ -1,5 +1,5 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
*/
#include <rte_mbuf.h>
diff --git a/drivers/net/txgbe/txgbe_ptypes.h b/drivers/net/txgbe/txgbe_ptypes.h
index 6af4b0dedc..fa6c347d53 100644
--- a/drivers/net/txgbe/txgbe_ptypes.h
+++ b/drivers/net/txgbe/txgbe_ptypes.h
@@ -1,5 +1,5 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
*/
#ifndef _TXGBE_PTYPE_H_
diff --git a/drivers/net/txgbe/txgbe_regs_group.h b/drivers/net/txgbe/txgbe_regs_group.h
index 6f8f0bc29f..a967eca3c6 100644
--- a/drivers/net/txgbe/txgbe_regs_group.h
+++ b/drivers/net/txgbe/txgbe_regs_group.h
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#ifndef _TXGBE_REGS_GROUP_H_
diff --git a/drivers/net/txgbe/txgbe_rxtx.c b/drivers/net/txgbe/txgbe_rxtx.c
index 8dd1a6ce4a..1a261287d1 100644
--- a/drivers/net/txgbe/txgbe_rxtx.c
+++ b/drivers/net/txgbe/txgbe_rxtx.c
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#include <sys/queue.h>
diff --git a/drivers/net/txgbe/txgbe_rxtx.h b/drivers/net/txgbe/txgbe_rxtx.h
index 203bdeb882..b96f58a3f8 100644
--- a/drivers/net/txgbe/txgbe_rxtx.h
+++ b/drivers/net/txgbe/txgbe_rxtx.h
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#ifndef _TXGBE_RXTX_H_
diff --git a/drivers/net/txgbe/txgbe_tm.c b/drivers/net/txgbe/txgbe_tm.c
index b8edd78bf2..3abe3959eb 100644
--- a/drivers/net/txgbe/txgbe_tm.c
+++ b/drivers/net/txgbe/txgbe_tm.c
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2015-2020
+ * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
+ * Copyright(c) 2010-2017 Intel Corporation
*/
#include <rte_malloc.h>
--
2.21.0.windows.1
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH v2 1/5] net/txgbe: fix RSS in QINQ
2021-04-29 10:33 ` [dpdk-dev] [PATCH v2 1/5] net/txgbe: fix RSS in QINQ Jiawen Wu
@ 2021-04-29 14:31 ` Ferruh Yigit
2021-05-06 3:33 ` Jiawen Wu
0 siblings, 1 reply; 12+ messages in thread
From: Ferruh Yigit @ 2021-04-29 14:31 UTC (permalink / raw)
To: Jiawen Wu, dev; +Cc: stable
On 4/29/2021 11:33 AM, Jiawen Wu wrote:
> Support to enable and disable QINQ hardware strip,
> when configure vlan offload with QINQ strip mask,
> to avoid RSS does not work for QINQ packets.
>
Hi Jiawen,
What was not working and fixed here?
Is it RSS hash calculation is wrong when packet has double VLAN tag? Is it
failing to calculate hash for VLAN field of the packet or calculation for any
fields are wrong? Can't device detect/parse QinQ fields?
And how enabling QinQ strip is solving the issue? Should user enable QinQ strip
before configuring the RSS? What happens if user don't, should driver has checks
to cover this, like fail to enable RSS if QinQ strip is not enable etc?
Can you please provide more details?
> Fixes: 220b0e49bc47 ("net/txgbe: support VLAN")
> Cc: stable@dpdk.org
>
> Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
> ---
> drivers/net/txgbe/txgbe_ethdev.c | 39 +++++++++++++++++++++++++++-----
> 1 file changed, 33 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/net/txgbe/txgbe_ethdev.c b/drivers/net/txgbe/txgbe_ethdev.c
> index 97796f040b..3d6d356102 100644
> --- a/drivers/net/txgbe/txgbe_ethdev.c
> +++ b/drivers/net/txgbe/txgbe_ethdev.c
> @@ -1209,7 +1209,6 @@ txgbe_vlan_hw_extend_disable(struct rte_eth_dev *dev)
>
> ctrl = rd32(hw, TXGBE_PORTCTL);
> ctrl &= ~TXGBE_PORTCTL_VLANEXT;
> - ctrl &= ~TXGBE_PORTCTL_QINQ;
> wr32(hw, TXGBE_PORTCTL, ctrl);
> }
>
> @@ -1217,17 +1216,38 @@ static void
> txgbe_vlan_hw_extend_enable(struct rte_eth_dev *dev)
> {
> struct txgbe_hw *hw = TXGBE_DEV_HW(dev);
> - struct rte_eth_rxmode *rxmode = &dev->data->dev_conf.rxmode;
> - struct rte_eth_txmode *txmode = &dev->data->dev_conf.txmode;
> uint32_t ctrl;
>
> PMD_INIT_FUNC_TRACE();
>
> ctrl = rd32(hw, TXGBE_PORTCTL);
> ctrl |= TXGBE_PORTCTL_VLANEXT;
> - if (rxmode->offloads & DEV_RX_OFFLOAD_QINQ_STRIP ||
> - txmode->offloads & DEV_TX_OFFLOAD_QINQ_INSERT)
> - ctrl |= TXGBE_PORTCTL_QINQ;
> + wr32(hw, TXGBE_PORTCTL, ctrl);
> +}
> +
> +static void
> +txgbe_qinq_hw_strip_disable(struct rte_eth_dev *dev)
> +{
> + struct txgbe_hw *hw = TXGBE_DEV_HW(dev);
> + uint32_t ctrl;
> +
> + PMD_INIT_FUNC_TRACE();
> +
> + ctrl = rd32(hw, TXGBE_PORTCTL);
> + ctrl &= ~TXGBE_PORTCTL_QINQ;
> + wr32(hw, TXGBE_PORTCTL, ctrl);
> +}
> +
> +static void
> +txgbe_qinq_hw_strip_enable(struct rte_eth_dev *dev)
> +{
> + struct txgbe_hw *hw = TXGBE_DEV_HW(dev);
> + uint32_t ctrl;
> +
> + PMD_INIT_FUNC_TRACE();
> +
> + ctrl = rd32(hw, TXGBE_PORTCTL);
> + ctrl |= TXGBE_PORTCTL_QINQ | TXGBE_PORTCTL_VLANEXT;
> wr32(hw, TXGBE_PORTCTL, ctrl);
> }
>
> @@ -1294,6 +1314,13 @@ txgbe_vlan_offload_config(struct rte_eth_dev *dev, int mask)
> txgbe_vlan_hw_extend_disable(dev);
> }
>
> + if (mask & ETH_QINQ_STRIP_MASK) {
> + if (rxmode->offloads & DEV_RX_OFFLOAD_QINQ_STRIP)
> + txgbe_qinq_hw_strip_enable(dev);
> + else
> + txgbe_qinq_hw_strip_disable(dev);
> + }
> +
> return 0;
> }
>
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [PATCH v2 5/5] net/txgbe: add copyright owner
2021-04-29 10:33 ` [dpdk-dev] [PATCH v2 5/5] net/txgbe: add copyright owner Jiawen Wu
@ 2021-04-29 14:59 ` Ferruh Yigit
0 siblings, 0 replies; 12+ messages in thread
From: Ferruh Yigit @ 2021-04-29 14:59 UTC (permalink / raw)
To: Jiawen Wu, dev
On 4/29/2021 11:33 AM, Jiawen Wu wrote:
> All rights reserved by Beijing Wangxun Technology Co., Ltd.
> Part of the code references Intel.
>
> Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH v2 2/5] net/txgbe: fix VF MTU limit setting
2021-04-29 10:33 ` [dpdk-dev] [PATCH v2 2/5] net/txgbe: fix VF MTU limit setting Jiawen Wu
@ 2021-04-29 14:59 ` Ferruh Yigit
2021-05-06 1:43 ` Jiawen Wu
0 siblings, 1 reply; 12+ messages in thread
From: Ferruh Yigit @ 2021-04-29 14:59 UTC (permalink / raw)
To: Jiawen Wu, dev; +Cc: stable
On 4/29/2021 11:33 AM, Jiawen Wu wrote:
> Add the dev_started check to remove the limitation of VF MTU setting.
> When device is stopped, it is allowed to set MTU bigger than mbuf size.
> Scattered rx may be enabled in next starting, exempt from setting in
> EAL parameters.
>
I have reworded the commit log, can you please check in next-net if it is alright.
> Fixes: a2beaa4a769e ("net/txgbe: support VF MTU update")
> Cc: stable@dpdk.org
>
> Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
<...>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [PATCH v2 0/5] Fixes and supports for txgbe
2021-04-29 10:33 [dpdk-dev] [PATCH v2 0/5] Fixes and supports for txgbe Jiawen Wu
` (4 preceding siblings ...)
2021-04-29 10:33 ` [dpdk-dev] [PATCH v2 5/5] net/txgbe: add copyright owner Jiawen Wu
@ 2021-04-29 15:02 ` Ferruh Yigit
5 siblings, 0 replies; 12+ messages in thread
From: Ferruh Yigit @ 2021-04-29 15:02 UTC (permalink / raw)
To: Jiawen Wu, dev
On 4/29/2021 11:33 AM, Jiawen Wu wrote:
> Fix some bugs, remove redundant code, add copyright.
>
> v2:
> - Add a separate condition to enable and disable QINQ strip.
> - Add support for VXLAN-GPE.
> - Reword commit logs.
> - Remove redundant 'retval' variable.
>
> Jiawen Wu (5):
> net/txgbe: fix RSS in QINQ
> net/txgbe: fix VF MTU limit setting
> net/txgbe: support VXLAN-GPE
> net/txgbe: remove port representor
> net/txgbe: add copyright owner
>
Except from 1/5,
Series applied to dpdk-next-net/main, thanks.
Can continue on 1/5 separately.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH v2 2/5] net/txgbe: fix VF MTU limit setting
2021-04-29 14:59 ` [dpdk-dev] [dpdk-stable] " Ferruh Yigit
@ 2021-05-06 1:43 ` Jiawen Wu
0 siblings, 0 replies; 12+ messages in thread
From: Jiawen Wu @ 2021-05-06 1:43 UTC (permalink / raw)
To: 'Ferruh Yigit', dev; +Cc: stable
On April 29, 2021 11:00 PM, Ferruh Yigit wrote:
> On 4/29/2021 11:33 AM, Jiawen Wu wrote:
> > Add the dev_started check to remove the limitation of VF MTU setting.
> > When device is stopped, it is allowed to set MTU bigger than mbuf size.
> > Scattered rx may be enabled in next starting, exempt from setting in
> > EAL parameters.
> >
>
> I have reworded the commit log, can you please check in next-net if it is alright.
>
> > Fixes: a2beaa4a769e ("net/txgbe: support VF MTU update")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
>
> <...>
That's OK.
Thanks Ferruh.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH v2 1/5] net/txgbe: fix RSS in QINQ
2021-04-29 14:31 ` [dpdk-dev] [dpdk-stable] " Ferruh Yigit
@ 2021-05-06 3:33 ` Jiawen Wu
0 siblings, 0 replies; 12+ messages in thread
From: Jiawen Wu @ 2021-05-06 3:33 UTC (permalink / raw)
To: 'Ferruh Yigit', dev; +Cc: stable
On April 29, 2021 10:31 PM, Ferruh Yigit wrote:
> On 4/29/2021 11:33 AM, Jiawen Wu wrote:
> > Support to enable and disable QINQ hardware strip, when configure vlan
> > offload with QINQ strip mask, to avoid RSS does not work for QINQ
> > packets.
> >
>
> Hi Jiawen,
>
> What was not working and fixed here?
> Is it RSS hash calculation is wrong when packet has double VLAN tag? Is it
> failing to calculate hash for VLAN field of the packet or calculation for any fields
> are wrong? Can't device detect/parse QinQ fields?
>
> And how enabling QinQ strip is solving the issue? Should user enable QinQ strip
> before configuring the RSS? What happens if user don't, should driver has
> checks to cover this, like fail to enable RSS if QinQ strip is not enable etc?
>
> Can you please provide more details?
>
Hi Ferruh,
I think I might be mistaken something.
At first I fixed this bug because RSS did not take effect when packet has QINQ tag.
Hardware does not support to calculate VLAN field, but the insertion of QINQ causes five-tuple filed changes.
The root cause is that QINQ is not properly stripped. So I add the functions to handle QINQ stripping when ETH_QINQ_STRIP_MASK set.
And users should enable QINQ strip before configuring the RSS.
This patch should be renamed to "fix to strip QINQ", is this more appropriate?
>
> > Fixes: 220b0e49bc47 ("net/txgbe: support VLAN")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
> > ---
> > drivers/net/txgbe/txgbe_ethdev.c | 39
> > +++++++++++++++++++++++++++-----
> > 1 file changed, 33 insertions(+), 6 deletions(-)
> >
> > diff --git a/drivers/net/txgbe/txgbe_ethdev.c
> > b/drivers/net/txgbe/txgbe_ethdev.c
> > index 97796f040b..3d6d356102 100644
> > --- a/drivers/net/txgbe/txgbe_ethdev.c
> > +++ b/drivers/net/txgbe/txgbe_ethdev.c
> > @@ -1209,7 +1209,6 @@ txgbe_vlan_hw_extend_disable(struct
> rte_eth_dev
> > *dev)
> >
> > ctrl = rd32(hw, TXGBE_PORTCTL);
> > ctrl &= ~TXGBE_PORTCTL_VLANEXT;
> > - ctrl &= ~TXGBE_PORTCTL_QINQ;
> > wr32(hw, TXGBE_PORTCTL, ctrl);
> > }
> >
> > @@ -1217,17 +1216,38 @@ static void
> > txgbe_vlan_hw_extend_enable(struct rte_eth_dev *dev) {
> > struct txgbe_hw *hw = TXGBE_DEV_HW(dev);
> > - struct rte_eth_rxmode *rxmode = &dev->data->dev_conf.rxmode;
> > - struct rte_eth_txmode *txmode = &dev->data->dev_conf.txmode;
> > uint32_t ctrl;
> >
> > PMD_INIT_FUNC_TRACE();
> >
> > ctrl = rd32(hw, TXGBE_PORTCTL);
> > ctrl |= TXGBE_PORTCTL_VLANEXT;
> > - if (rxmode->offloads & DEV_RX_OFFLOAD_QINQ_STRIP ||
> > - txmode->offloads & DEV_TX_OFFLOAD_QINQ_INSERT)
> > - ctrl |= TXGBE_PORTCTL_QINQ;
> > + wr32(hw, TXGBE_PORTCTL, ctrl);
> > +}
> > +
> > +static void
> > +txgbe_qinq_hw_strip_disable(struct rte_eth_dev *dev) {
> > + struct txgbe_hw *hw = TXGBE_DEV_HW(dev);
> > + uint32_t ctrl;
> > +
> > + PMD_INIT_FUNC_TRACE();
> > +
> > + ctrl = rd32(hw, TXGBE_PORTCTL);
> > + ctrl &= ~TXGBE_PORTCTL_QINQ;
> > + wr32(hw, TXGBE_PORTCTL, ctrl);
> > +}
> > +
> > +static void
> > +txgbe_qinq_hw_strip_enable(struct rte_eth_dev *dev) {
> > + struct txgbe_hw *hw = TXGBE_DEV_HW(dev);
> > + uint32_t ctrl;
> > +
> > + PMD_INIT_FUNC_TRACE();
> > +
> > + ctrl = rd32(hw, TXGBE_PORTCTL);
> > + ctrl |= TXGBE_PORTCTL_QINQ | TXGBE_PORTCTL_VLANEXT;
> > wr32(hw, TXGBE_PORTCTL, ctrl);
> > }
> >
> > @@ -1294,6 +1314,13 @@ txgbe_vlan_offload_config(struct rte_eth_dev
> *dev, int mask)
> > txgbe_vlan_hw_extend_disable(dev);
> > }
> >
> > + if (mask & ETH_QINQ_STRIP_MASK) {
> > + if (rxmode->offloads & DEV_RX_OFFLOAD_QINQ_STRIP)
> > + txgbe_qinq_hw_strip_enable(dev);
> > + else
> > + txgbe_qinq_hw_strip_disable(dev);
> > + }
> > +
> > return 0;
> > }
> >
> >
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2021-05-06 3:33 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-29 10:33 [dpdk-dev] [PATCH v2 0/5] Fixes and supports for txgbe Jiawen Wu
2021-04-29 10:33 ` [dpdk-dev] [PATCH v2 1/5] net/txgbe: fix RSS in QINQ Jiawen Wu
2021-04-29 14:31 ` [dpdk-dev] [dpdk-stable] " Ferruh Yigit
2021-05-06 3:33 ` Jiawen Wu
2021-04-29 10:33 ` [dpdk-dev] [PATCH v2 2/5] net/txgbe: fix VF MTU limit setting Jiawen Wu
2021-04-29 14:59 ` [dpdk-dev] [dpdk-stable] " Ferruh Yigit
2021-05-06 1:43 ` Jiawen Wu
2021-04-29 10:33 ` [dpdk-dev] [PATCH v2 3/5] net/txgbe: support VXLAN-GPE Jiawen Wu
2021-04-29 10:33 ` [dpdk-dev] [PATCH v2 4/5] net/txgbe: remove port representor Jiawen Wu
2021-04-29 10:33 ` [dpdk-dev] [PATCH v2 5/5] net/txgbe: add copyright owner Jiawen Wu
2021-04-29 14:59 ` Ferruh Yigit
2021-04-29 15:02 ` [dpdk-dev] [PATCH v2 0/5] Fixes and supports for txgbe Ferruh Yigit
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).