[dpdk-dev] net/i40e: add check for ethertype filter

Message ID 1493290938-80198-1-git-send-email-beilei.xing@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Xing, Beilei April 27, 2017, 11:02 a.m. UTC
  LLDP rule is not supported in ethertype filter.

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
---
 drivers/net/i40e/i40e_flow.c | 1 +
 lib/librte_net/rte_ether.h   | 1 +
 2 files changed, 2 insertions(+)
  

Comments

Jingjing Wu April 28, 2017, 8:05 a.m. UTC | #1
> -----Original Message-----
> From: Xing, Beilei
> Sent: Thursday, April 27, 2017 7:02 PM
> To: Wu, Jingjing <jingjing.wu@intel.com>
> Cc: dev@dpdk.org
> Subject: [PATCH] net/i40e: add check for ethertype filter
> 
> LLDP rule is not supported in ethertype filter.
> 
> Signed-off-by: Beilei Xing <beilei.xing@intel.com>
> ---
>  drivers/net/i40e/i40e_flow.c | 1 +
>  lib/librte_net/rte_ether.h   | 1 +
>  2 files changed, 2 insertions(+)
> 
> diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index
> 0a0181f..24e1c65 100644
> --- a/drivers/net/i40e/i40e_flow.c
> +++ b/drivers/net/i40e/i40e_flow.c
> @@ -608,6 +608,7 @@ i40e_flow_parse_ethertype_pattern(struct rte_eth_dev
> *dev,
> 
>  			if (filter->ether_type == ETHER_TYPE_IPv4 ||
>  			    filter->ether_type == ETHER_TYPE_IPv6 ||
> +			    filter->ether_type == ETHER_TYPE_LLDP ||
>  			    filter->ether_type == outer_tpid) {
>  				rte_flow_error_set(error, EINVAL,
> 
> RTE_FLOW_ERROR_TYPE_ITEM,
> diff --git a/lib/librte_net/rte_ether.h b/lib/librte_net/rte_ether.h index
> ff3d065..c448bf3 100644
> --- a/lib/librte_net/rte_ether.h
> +++ b/lib/librte_net/rte_ether.h
> @@ -333,6 +333,7 @@ struct vxlan_hdr {
>  #define ETHER_TYPE_1588 0x88F7 /**< IEEE 802.1AS 1588 Precise Time
> Protocol. */  #define ETHER_TYPE_SLOW 0x8809 /**< Slow protocols (LACP
> and Marker). */  #define ETHER_TYPE_TEB  0x6558 /**< Transparent Ethernet
> Bridging. */
> +#define ETHER_TYPE_LLDP 0x88CC /**< LLDP Protocol. */
> 
>  #define ETHER_VXLAN_HLEN (sizeof(struct udp_hdr) + sizeof(struct vxlan_hdr))
> /**< VXLAN tunnel header length. */

Acked-by: Jingjing Wu <jingjing.wu@intel.com>

> --
> 2.5.5
  
Thomas Monjalon May 5, 2017, 3:20 p.m. UTC | #2
> > LLDP rule is not supported in ethertype filter.
> > 
> > Signed-off-by: Beilei Xing <beilei.xing@intel.com>
> 
> Acked-by: Jingjing Wu <jingjing.wu@intel.com>

Applied, thanks
  

Patch

diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c
index 0a0181f..24e1c65 100644
--- a/drivers/net/i40e/i40e_flow.c
+++ b/drivers/net/i40e/i40e_flow.c
@@ -608,6 +608,7 @@  i40e_flow_parse_ethertype_pattern(struct rte_eth_dev *dev,
 
 			if (filter->ether_type == ETHER_TYPE_IPv4 ||
 			    filter->ether_type == ETHER_TYPE_IPv6 ||
+			    filter->ether_type == ETHER_TYPE_LLDP ||
 			    filter->ether_type == outer_tpid) {
 				rte_flow_error_set(error, EINVAL,
 						   RTE_FLOW_ERROR_TYPE_ITEM,
diff --git a/lib/librte_net/rte_ether.h b/lib/librte_net/rte_ether.h
index ff3d065..c448bf3 100644
--- a/lib/librte_net/rte_ether.h
+++ b/lib/librte_net/rte_ether.h
@@ -333,6 +333,7 @@  struct vxlan_hdr {
 #define ETHER_TYPE_1588 0x88F7 /**< IEEE 802.1AS 1588 Precise Time Protocol. */
 #define ETHER_TYPE_SLOW 0x8809 /**< Slow protocols (LACP and Marker). */
 #define ETHER_TYPE_TEB  0x6558 /**< Transparent Ethernet Bridging. */
+#define ETHER_TYPE_LLDP 0x88CC /**< LLDP Protocol. */
 
 #define ETHER_VXLAN_HLEN (sizeof(struct udp_hdr) + sizeof(struct vxlan_hdr))
 /**< VXLAN tunnel header length. */