[dpdk-dev] [PATCH] ixgbe: fix missed packet types.

2016-06-23 Thread Bruce Richardson
On Thu, Jun 16, 2016 at 12:56:09AM +, Lu, Wenzhuo wrote:
> Hi,
> 
> > -Original Message-
> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Konstantin Ananyev
> > Sent: Wednesday, June 15, 2016 8:59 PM
> > To: dev at dpdk.org
> > Cc: Ananyev, Konstantin
> > Subject: [dpdk-dev] [PATCH] ixgbe: fix missed packet types.
> > 
> > ixgbe PMD RX function(s) miss pacjet types that are:
> >  - correctly recognised by the underlying HW.
> >  - marked as supported by ixgbe_dev_supported_ptypes_get().
> > 
> > Fixes: 9586ebd358d5 ("ixgbe: replace some offload flags with packet type")
> > 
> > Signed-off-by: Konstantin Ananyev 
> Acked-by: Wenzhuo Lu 
> 
Applied to dpdk-next-net/rel_16_07

/Bruce


[dpdk-dev] [PATCH] ixgbe: fix missed packet types.

2016-06-16 Thread Olivier MATZ


On 06/15/2016 02:58 PM, Konstantin Ananyev wrote:
> ixgbe PMD RX function(s) miss pacjet types that are:
>   - correctly recognised by the underlying HW.
>   - marked as supported by ixgbe_dev_supported_ptypes_get().
>
> Fixes: 9586ebd358d5 ("ixgbe: replace some offload flags with packet type")
>
> Signed-off-by: Konstantin Ananyev 

Checked that unknown Etherypes are recognized as L2_ETHER
Checked that packets with IP options are recognized as L2_ETHER L3_IPV4_EXT

Tested-by: Olivier Matz 



[dpdk-dev] [PATCH] ixgbe: fix missed packet types.

2016-06-16 Thread Lu, Wenzhuo
Hi,

> -Original Message-
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Konstantin Ananyev
> Sent: Wednesday, June 15, 2016 8:59 PM
> To: dev at dpdk.org
> Cc: Ananyev, Konstantin
> Subject: [dpdk-dev] [PATCH] ixgbe: fix missed packet types.
> 
> ixgbe PMD RX function(s) miss pacjet types that are:
>  - correctly recognised by the underlying HW.
>  - marked as supported by ixgbe_dev_supported_ptypes_get().
> 
> Fixes: 9586ebd358d5 ("ixgbe: replace some offload flags with packet type")
> 
> Signed-off-by: Konstantin Ananyev 
Acked-by: Wenzhuo Lu 



[dpdk-dev] [PATCH] ixgbe: fix missed packet types.

2016-06-15 Thread Konstantin Ananyev
ixgbe PMD RX function(s) miss pacjet types that are:
 - correctly recognised by the underlying HW.
 - marked as supported by ixgbe_dev_supported_ptypes_get().

Fixes: 9586ebd358d5 ("ixgbe: replace some offload flags with packet type")

Signed-off-by: Konstantin Ananyev 
---
 drivers/net/ixgbe/ixgbe_rxtx.c | 180 +++--
 1 file changed, 138 insertions(+), 42 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
index 9c6eaf2..64dc17b 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -909,24 +909,40 @@ end_of_tx:
  *  RX functions
  *
  **/
-#define IXGBE_PACKET_TYPE_IPV4  0X01
-#define IXGBE_PACKET_TYPE_IPV4_TCP  0X11
-#define IXGBE_PACKET_TYPE_IPV4_UDP  0X21
-#define IXGBE_PACKET_TYPE_IPV4_SCTP 0X41
-#define IXGBE_PACKET_TYPE_IPV4_EXT  0X03
-#define IXGBE_PACKET_TYPE_IPV4_EXT_SCTP 0X43
-#define IXGBE_PACKET_TYPE_IPV6  0X04
-#define IXGBE_PACKET_TYPE_IPV6_TCP  0X14
-#define IXGBE_PACKET_TYPE_IPV6_UDP  0X24
-#define IXGBE_PACKET_TYPE_IPV6_EXT  0X0C
-#define IXGBE_PACKET_TYPE_IPV6_EXT_TCP  0X1C
-#define IXGBE_PACKET_TYPE_IPV6_EXT_UDP  0X2C
-#define IXGBE_PACKET_TYPE_IPV4_IPV6 0X05
-#define IXGBE_PACKET_TYPE_IPV4_IPV6_TCP 0X15
-#define IXGBE_PACKET_TYPE_IPV4_IPV6_UDP 0X25
-#define IXGBE_PACKET_TYPE_IPV4_IPV6_EXT 0X0D
-#define IXGBE_PACKET_TYPE_IPV4_IPV6_EXT_TCP 0X1D
-#define IXGBE_PACKET_TYPE_IPV4_IPV6_EXT_UDP 0X2D
+
+#define IXGBE_PACKET_TYPE_ETHER0X00
+#define IXGBE_PACKET_TYPE_IPV4 0X01
+#define IXGBE_PACKET_TYPE_IPV4_TCP 0X11
+#define IXGBE_PACKET_TYPE_IPV4_UDP 0X21
+#define IXGBE_PACKET_TYPE_IPV4_SCTP0X41
+#define IXGBE_PACKET_TYPE_IPV4_EXT 0X03
+#define IXGBE_PACKET_TYPE_IPV4_EXT_TCP 0X13
+#define IXGBE_PACKET_TYPE_IPV4_EXT_UDP 0X23
+#define IXGBE_PACKET_TYPE_IPV4_EXT_SCTP0X43
+#define IXGBE_PACKET_TYPE_IPV6 0X04
+#define IXGBE_PACKET_TYPE_IPV6_TCP 0X14
+#define IXGBE_PACKET_TYPE_IPV6_UDP 0X24
+#define IXGBE_PACKET_TYPE_IPV6_SCTP0X44
+#define IXGBE_PACKET_TYPE_IPV6_EXT 0X0C
+#define IXGBE_PACKET_TYPE_IPV6_EXT_TCP 0X1C
+#define IXGBE_PACKET_TYPE_IPV6_EXT_UDP 0X2C
+#define IXGBE_PACKET_TYPE_IPV6_EXT_SCTP0X4C
+#define IXGBE_PACKET_TYPE_IPV4_IPV60X05
+#define IXGBE_PACKET_TYPE_IPV4_IPV6_TCP0X15
+#define IXGBE_PACKET_TYPE_IPV4_IPV6_UDP0X25
+#define IXGBE_PACKET_TYPE_IPV4_IPV6_SCTP   0X45
+#define IXGBE_PACKET_TYPE_IPV4_EXT_IPV60X07
+#define IXGBE_PACKET_TYPE_IPV4_EXT_IPV6_TCP0X17
+#define IXGBE_PACKET_TYPE_IPV4_EXT_IPV6_UDP0X27
+#define IXGBE_PACKET_TYPE_IPV4_EXT_IPV6_SCTP   0X47
+#define IXGBE_PACKET_TYPE_IPV4_IPV6_EXT0X0D
+#define IXGBE_PACKET_TYPE_IPV4_IPV6_EXT_TCP0X1D
+#define IXGBE_PACKET_TYPE_IPV4_IPV6_EXT_UDP0X2D
+#define IXGBE_PACKET_TYPE_IPV4_IPV6_EXT_SCTP   0X4D
+#define IXGBE_PACKET_TYPE_IPV4_EXT_IPV6_EXT0X0F
+#define IXGBE_PACKET_TYPE_IPV4_EXT_IPV6_EXT_TCP0X1F
+#define IXGBE_PACKET_TYPE_IPV4_EXT_IPV6_EXT_UDP0X2F
+#define IXGBE_PACKET_TYPE_IPV4_EXT_IPV6_EXT_SCTP   0X4F

 #define IXGBE_PACKET_TYPE_NVGRE   0X00
 #define IXGBE_PACKET_TYPE_NVGRE_IPV4  0X01
@@ -934,13 +950,17 @@ end_of_tx:
 #define IXGBE_PACKET_TYPE_NVGRE_IPV4_UDP  0X21
 #define IXGBE_PACKET_TYPE_NVGRE_IPV4_SCTP 0X41
 #define IXGBE_PACKET_TYPE_NVGRE_IPV4_EXT  0X03
+#define IXGBE_PACKET_TYPE_NVGRE_IPV4_EXT_TCP  0X13
+#define IXGBE_PACKET_TYPE_NVGRE_IPV4_EXT_UDP  0X23
 #define IXGBE_PACKET_TYPE_NVGRE_IPV4_EXT_SCTP 0X43
 #define IXGBE_PACKET_TYPE_NVGRE_IPV6  0X04
 #define IXGBE_PACKET_TYPE_NVGRE_IPV6_TCP  0X14
 #define IXGBE_PACKET_TYPE_NVGRE_IPV6_UDP  0X24
+#define IXGBE_PACKET_TYPE_NVGRE_IPV6_SCTP 0X44
 #define IXGBE_PACKET_TYPE_NVGRE_IPV6_EXT  0X0C
 #define IXGBE_PACKET_TYPE_NVGRE_IPV6_EXT_TCP  0X1C
 #define IXGBE_PACKET_TYPE_NVGRE_IPV6_EXT_UDP  0X2C
+#define IXGBE_PACKET_TYPE_NVGRE_IPV6_EXT_SCTP 0X4C
 #define IXGBE_PACKET_TYPE_NVGRE_IPV4_IPV6 0X05
 #define IXGBE_PACKET_TYPE_NVGRE_IPV4_IPV6_TCP 0X15
 #define IXGBE_PACKET_TYPE_NVGRE_IPV4_IPV6_UDP 0X25
@@ -954,13 +974,17 @@ end_of_tx:
 #define IXGBE_PACKET_TYPE_VXLAN_IPV4_UDP  0xA1
 #define IXGBE_PACKET_TYPE_VXLAN_IPV4_SCTP 0xC1
 #define IXGBE_PACKET_TYPE_VXLAN_IPV4_EXT