All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] fix missing Tx multi segs capabilities
@ 2018-09-19 15:04 Didier Pallard
  2018-09-19 15:04 ` [PATCH 1/4] net/e1000: fix missing Tx multi segs capability Didier Pallard
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Didier Pallard @ 2018-09-19 15:04 UTC (permalink / raw)
  To: dev

In former API, ETH_TXQ_FLAGS_NOMULTSEGS was merely a hint indicating
that application will never send multisegmented packets, allowing
pmd to choose different tx methods accordingly.
In new API, DEV_TX_OFFLOAD_MULTI_SEGS became an offload capability
that is advertised by pmds, some of them do not advertise it and
expect to never receive fragmented packets (octeontx, axgbe)
So an ethdev that supports multisegmented packets should properly
advertise it.

Didier Pallard (4):
  net/e1000: fix missing Tx multi segs capability
  net/fm10k: fix missing Tx multi segs capability
  net/i40e: fix missing Tx multi segs capability
  net/ixgbe: fix missing Tx multi segs capability

 drivers/net/e1000/em_rxtx.c              | 1 +
 drivers/net/fm10k/fm10k_ethdev.c         | 1 +
 drivers/net/i40e/i40e_vf_representor.c   | 1 +
 drivers/net/ixgbe/ixgbe_vf_representor.c | 2 +-
 4 files changed, 4 insertions(+), 1 deletion(-)

-- 
2.11.0

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

* [PATCH 1/4] net/e1000: fix missing Tx multi segs capability
  2018-09-19 15:04 [PATCH 0/4] fix missing Tx multi segs capabilities Didier Pallard
@ 2018-09-19 15:04 ` Didier Pallard
  2018-09-19 15:04 ` [PATCH 2/4] net/fm10k: " Didier Pallard
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Didier Pallard @ 2018-09-19 15:04 UTC (permalink / raw)
  To: dev; +Cc: stable

In former API, ETH_TXQ_FLAGS_NOMULTSEGS was merely a hint indicating
that application will never send multisegmented packets, allowing
pmd to choose different tx methods accordingly.
In new API, DEV_TX_OFFLOAD_MULTI_SEGS became an offload capability
that is advertised by pmds, some of them do not advertise it and
expect to never receive fragmented packets (octeontx, axgbe)
So an ethdev that supports multisegmented packets should properly
advertise it.

Fixes: e5c05e6590ea ("net/e1000: convert to new Tx offloads API")
Cc: stable@dpdk.org

Signed-off-by: Didier Pallard <didier.pallard@6wind.com>
---
 drivers/net/e1000/em_rxtx.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/e1000/em_rxtx.c b/drivers/net/e1000/em_rxtx.c
index 1103a1839058..087e68304cc8 100644
--- a/drivers/net/e1000/em_rxtx.c
+++ b/drivers/net/e1000/em_rxtx.c
@@ -1160,6 +1160,7 @@ em_get_tx_port_offloads_capa(struct rte_eth_dev *dev)
 
 	RTE_SET_USED(dev);
 	tx_offload_capa =
+		DEV_TX_OFFLOAD_MULTI_SEGS  |
 		DEV_TX_OFFLOAD_VLAN_INSERT |
 		DEV_TX_OFFLOAD_IPV4_CKSUM  |
 		DEV_TX_OFFLOAD_UDP_CKSUM   |
-- 
2.11.0

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

* [PATCH 2/4] net/fm10k: fix missing Tx multi segs capability
  2018-09-19 15:04 [PATCH 0/4] fix missing Tx multi segs capabilities Didier Pallard
  2018-09-19 15:04 ` [PATCH 1/4] net/e1000: fix missing Tx multi segs capability Didier Pallard
@ 2018-09-19 15:04 ` Didier Pallard
  2018-09-19 15:04 ` [PATCH 3/4] net/i40e: " Didier Pallard
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Didier Pallard @ 2018-09-19 15:04 UTC (permalink / raw)
  To: dev; +Cc: stable

In former API, ETH_TXQ_FLAGS_NOMULTSEGS was merely a hint indicating
that application will never send multisegmented packets, allowing
pmd to choose different tx methods accordingly.
In new API, DEV_TX_OFFLOAD_MULTI_SEGS became an offload capability
that is advertised by pmds, some of them do not advertise it and
expect to never receive fragmented packets (octeontx, axgbe)
So an ethdev that supports multisegmented packets should properly
advertise it.

Problem was spotted and tested on e1000, should be also present in
fm10k.

Fixes: 30f3ce999e6a ("net/fm10k: convert to new Tx offloads API")
Cc: stable@dpdk.org

Signed-off-by: Didier Pallard <didier.pallard@6wind.com>
---
 drivers/net/fm10k/fm10k_ethdev.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index 3359df3c8b9c..7cf5b0314c75 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -1975,6 +1975,7 @@ static uint64_t fm10k_get_tx_port_offloads_capa(struct rte_eth_dev *dev)
 	RTE_SET_USED(dev);
 
 	return (uint64_t)(DEV_TX_OFFLOAD_VLAN_INSERT |
+			  DEV_TX_OFFLOAD_MULTI_SEGS  |
 			  DEV_TX_OFFLOAD_IPV4_CKSUM  |
 			  DEV_TX_OFFLOAD_UDP_CKSUM   |
 			  DEV_TX_OFFLOAD_TCP_CKSUM   |
-- 
2.11.0

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

* [PATCH 3/4] net/i40e: fix missing Tx multi segs capability
  2018-09-19 15:04 [PATCH 0/4] fix missing Tx multi segs capabilities Didier Pallard
  2018-09-19 15:04 ` [PATCH 1/4] net/e1000: fix missing Tx multi segs capability Didier Pallard
  2018-09-19 15:04 ` [PATCH 2/4] net/fm10k: " Didier Pallard
@ 2018-09-19 15:04 ` Didier Pallard
  2018-09-19 15:04 ` [PATCH 4/4] net/ixgbe: " Didier Pallard
  2018-09-19 23:29 ` [PATCH 0/4] fix missing Tx multi segs capabilities Ananyev, Konstantin
  4 siblings, 0 replies; 7+ messages in thread
From: Didier Pallard @ 2018-09-19 15:04 UTC (permalink / raw)
  To: dev; +Cc: stable

In former API, ETH_TXQ_FLAGS_NOMULTSEGS was merely a hint indicating
that application will never send multisegmented packets, allowing
pmd to choose different tx methods accordingly.
In new API, DEV_TX_OFFLOAD_MULTI_SEGS became an offload capability
that is advertised by pmds, some of them do not advertise it and
expect to never receive fragmented packets (octeontx, axgbe)
So an ethdev that supports multisegmented packets should properly
advertise it.

Problem was spotted and tested on e1000, should be also present in
i40e_vf representor.

Fixes: e0cb96204b71 ("net/i40e: add support for representor ports")
Cc: stable@dpdk.org

Signed-off-by: Didier Pallard <didier.pallard@6wind.com>
---
 drivers/net/i40e/i40e_vf_representor.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/i40e/i40e_vf_representor.c b/drivers/net/i40e/i40e_vf_representor.c
index f9f131611016..0bfbb4f6011f 100644
--- a/drivers/net/i40e/i40e_vf_representor.c
+++ b/drivers/net/i40e/i40e_vf_representor.c
@@ -48,6 +48,7 @@ i40e_vf_representor_dev_infos_get(struct rte_eth_dev *ethdev,
 		DEV_RX_OFFLOAD_UDP_CKSUM |
 		DEV_RX_OFFLOAD_TCP_CKSUM;
 	dev_info->tx_offload_capa =
+		DEV_TX_OFFLOAD_MULTI_SEGS  |
 		DEV_TX_OFFLOAD_VLAN_INSERT |
 		DEV_TX_OFFLOAD_QINQ_INSERT |
 		DEV_TX_OFFLOAD_IPV4_CKSUM |
-- 
2.11.0

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

* [PATCH 4/4] net/ixgbe: fix missing Tx multi segs capability
  2018-09-19 15:04 [PATCH 0/4] fix missing Tx multi segs capabilities Didier Pallard
                   ` (2 preceding siblings ...)
  2018-09-19 15:04 ` [PATCH 3/4] net/i40e: " Didier Pallard
@ 2018-09-19 15:04 ` Didier Pallard
  2018-09-19 23:29 ` [PATCH 0/4] fix missing Tx multi segs capabilities Ananyev, Konstantin
  4 siblings, 0 replies; 7+ messages in thread
From: Didier Pallard @ 2018-09-19 15:04 UTC (permalink / raw)
  To: dev; +Cc: stable

In former API, ETH_TXQ_FLAGS_NOMULTSEGS was merely a hint indicating
that application will never send multisegmented packets, allowing
pmd to choose different tx methods accordingly.
In new API, DEV_TX_OFFLOAD_MULTI_SEGS became an offload capability
that is advertised by pmds, some of them do not advertise it and
expect to never receive fragmented packets (octeontx, axgbe)
So an ethdev that supports multisegmented packets should properly
advertise it.

Problem was spotted and tested on e1000, should be also present in
ixgbe_vf representor.

Fixes: cf80ba6e2038 ("net/ixgbe: add support for representor ports")
Cc: stable@dpdk.org

Signed-off-by: Didier Pallard <didier.pallard@6wind.com>
---
 drivers/net/ixgbe/ixgbe_vf_representor.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ixgbe/ixgbe_vf_representor.c b/drivers/net/ixgbe/ixgbe_vf_representor.c
index db516d9910b8..b0fbbc49f6ed 100644
--- a/drivers/net/ixgbe/ixgbe_vf_representor.c
+++ b/drivers/net/ixgbe/ixgbe_vf_representor.c
@@ -65,7 +65,7 @@ ixgbe_vf_representor_dev_infos_get(struct rte_eth_dev *ethdev,
 	dev_info->tx_offload_capa = DEV_TX_OFFLOAD_VLAN_INSERT |
 		DEV_TX_OFFLOAD_IPV4_CKSUM | DEV_TX_OFFLOAD_UDP_CKSUM |
 		DEV_TX_OFFLOAD_TCP_CKSUM | DEV_TX_OFFLOAD_SCTP_CKSUM |
-		DEV_TX_OFFLOAD_TCP_TSO;
+		DEV_TX_OFFLOAD_TCP_TSO | DEV_TX_OFFLOAD_MULTI_SEGS;
 	/**< Device TX offload capabilities. */
 
 	dev_info->speed_capa =
-- 
2.11.0

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

* Re: [PATCH 0/4] fix missing Tx multi segs capabilities
  2018-09-19 15:04 [PATCH 0/4] fix missing Tx multi segs capabilities Didier Pallard
                   ` (3 preceding siblings ...)
  2018-09-19 15:04 ` [PATCH 4/4] net/ixgbe: " Didier Pallard
@ 2018-09-19 23:29 ` Ananyev, Konstantin
  2018-09-21 14:20   ` Zhang, Qi Z
  4 siblings, 1 reply; 7+ messages in thread
From: Ananyev, Konstantin @ 2018-09-19 23:29 UTC (permalink / raw)
  To: Didier Pallard, dev



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Didier Pallard
> Sent: Wednesday, September 19, 2018 4:04 PM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH 0/4] fix missing Tx multi segs capabilities
> 
> In former API, ETH_TXQ_FLAGS_NOMULTSEGS was merely a hint indicating
> that application will never send multisegmented packets, allowing
> pmd to choose different tx methods accordingly.
> In new API, DEV_TX_OFFLOAD_MULTI_SEGS became an offload capability
> that is advertised by pmds, some of them do not advertise it and
> expect to never receive fragmented packets (octeontx, axgbe)
> So an ethdev that supports multisegmented packets should properly
> advertise it.
> 
> Didier Pallard (4):
>   net/e1000: fix missing Tx multi segs capability
>   net/fm10k: fix missing Tx multi segs capability
>   net/i40e: fix missing Tx multi segs capability
>   net/ixgbe: fix missing Tx multi segs capability
> 
>  drivers/net/e1000/em_rxtx.c              | 1 +
>  drivers/net/fm10k/fm10k_ethdev.c         | 1 +
>  drivers/net/i40e/i40e_vf_representor.c   | 1 +
>  drivers/net/ixgbe/ixgbe_vf_representor.c | 2 +-
>  4 files changed, 4 insertions(+), 1 deletion(-)
> 
> --

Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>

> 2.11.0

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

* Re: [PATCH 0/4] fix missing Tx multi segs capabilities
  2018-09-19 23:29 ` [PATCH 0/4] fix missing Tx multi segs capabilities Ananyev, Konstantin
@ 2018-09-21 14:20   ` Zhang, Qi Z
  0 siblings, 0 replies; 7+ messages in thread
From: Zhang, Qi Z @ 2018-09-21 14:20 UTC (permalink / raw)
  To: Ananyev, Konstantin, Didier Pallard, dev



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Ananyev, Konstantin
> Sent: Thursday, September 20, 2018 7:30 AM
> To: Didier Pallard <didier.pallard@6wind.com>; dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH 0/4] fix missing Tx multi segs capabilities
> 
> 
> 
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Didier Pallard
> > Sent: Wednesday, September 19, 2018 4:04 PM
> > To: dev@dpdk.org
> > Subject: [dpdk-dev] [PATCH 0/4] fix missing Tx multi segs capabilities
> >
> > In former API, ETH_TXQ_FLAGS_NOMULTSEGS was merely a hint indicating
> > that application will never send multisegmented packets, allowing pmd
> > to choose different tx methods accordingly.
> > In new API, DEV_TX_OFFLOAD_MULTI_SEGS became an offload capability
> > that is advertised by pmds, some of them do not advertise it and
> > expect to never receive fragmented packets (octeontx, axgbe) So an
> > ethdev that supports multisegmented packets should properly advertise
> > it.
> >
> > Didier Pallard (4):
> >   net/e1000: fix missing Tx multi segs capability
> >   net/fm10k: fix missing Tx multi segs capability
> >   net/i40e: fix missing Tx multi segs capability
> >   net/ixgbe: fix missing Tx multi segs capability
> >
> >  drivers/net/e1000/em_rxtx.c              | 1 +
> >  drivers/net/fm10k/fm10k_ethdev.c         | 1 +
> >  drivers/net/i40e/i40e_vf_representor.c   | 1 +
> >  drivers/net/ixgbe/ixgbe_vf_representor.c | 2 +-
> >  4 files changed, 4 insertions(+), 1 deletion(-)
> >
> > --
> 
> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi
> 
> > 2.11.0

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

end of thread, other threads:[~2018-09-21 14:21 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-19 15:04 [PATCH 0/4] fix missing Tx multi segs capabilities Didier Pallard
2018-09-19 15:04 ` [PATCH 1/4] net/e1000: fix missing Tx multi segs capability Didier Pallard
2018-09-19 15:04 ` [PATCH 2/4] net/fm10k: " Didier Pallard
2018-09-19 15:04 ` [PATCH 3/4] net/i40e: " Didier Pallard
2018-09-19 15:04 ` [PATCH 4/4] net/ixgbe: " Didier Pallard
2018-09-19 23:29 ` [PATCH 0/4] fix missing Tx multi segs capabilities Ananyev, Konstantin
2018-09-21 14:20   ` Zhang, Qi Z

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.