diff mbox

[v2] Classification: APIs deferred from ODP v1.0

Message ID 1416995958-26477-1-git-send-email-bala.manoharan@linaro.org
State Accepted
Commit 945e8be94ea2779f55cc2fe91d3098361589bcb0
Headers show

Commit Message

Balasubramanian Manoharan Nov. 26, 2014, 9:59 a.m. UTC
This patch removes Classification APIs which have been deferred from ODP v1.0
The following is the list of the deferred APIs
* odp_cos_set_queue_group
* odp_cos_set_pool
* odp_cos_set_headroom
* odp_cos_flow_set
* odp_cos_flow_is_set
* odp_cos_class_flow_signature
* odp_cos_port_flow_signature

Signed-off-by: Balasubramanian Manoharan <bala.manoharan@linaro.org>
---
V2: This patch is modified as independantly compilable unit
 .../linux-generic/include/api/odp_classification.h | 106 +--------------------
 platform/linux-generic/odp_classification.c        |  48 +---------
 2 files changed, 8 insertions(+), 146 deletions(-)

Comments

Maxim Uvarov Nov. 27, 2014, 12:27 p.m. UTC | #1
Merged this patch.

Maxim.

On 11/26/2014 12:59 PM, Balasubramanian Manoharan wrote:
> This patch removes Classification APIs which have been deferred from ODP v1.0
> The following is the list of the deferred APIs
> * odp_cos_set_queue_group
> * odp_cos_set_pool
> * odp_cos_set_headroom
> * odp_cos_flow_set
> * odp_cos_flow_is_set
> * odp_cos_class_flow_signature
> * odp_cos_port_flow_signature
>
> Signed-off-by: Balasubramanian Manoharan <bala.manoharan@linaro.org>
> ---
> V2: This patch is modified as independantly compilable unit
>   .../linux-generic/include/api/odp_classification.h | 106 +--------------------
>   platform/linux-generic/odp_classification.c        |  48 +---------
>   2 files changed, 8 insertions(+), 146 deletions(-)
>
> diff --git a/platform/linux-generic/include/api/odp_classification.h b/platform/linux-generic/include/api/odp_classification.h
> index cc5d84a..64ad73f 100644
> --- a/platform/linux-generic/include/api/odp_classification.h
> +++ b/platform/linux-generic/include/api/odp_classification.h
> @@ -48,6 +48,9 @@ typedef uint32_t odp_flowsig_t;
>   */
>   #define ODP_COS_INVALID    ((odp_cos_t)~0)
>   
> +/** Maximum ClassOfService name length in chars */
> +#define ODP_COS_NAME_LEN 32
> +
>   /**
>    * Class-of-service packet drop policies
>    */
> @@ -110,33 +113,6 @@ int odp_cos_destroy(odp_cos_t cos_id);
>   int odp_cos_set_queue(odp_cos_t cos_id, odp_queue_t queue_id);
>   
>   /**
> - * Assign a homogenous queue-group to a class-of-service.
> - *
> - * @param[in]	cos_id		class-of-service instance
> - * @param[in]	queue_group_id	Identifier of the queue group to receive packets
> - *				associated with this class of service.
> - *
> - * @return			0 on success, -1 on error.
> - */
> -int odp_cos_set_queue_group(odp_cos_t cos_id,
> -			    odp_queue_group_t queue_group_id);
> -
> -/**
> - * Assign packet buffer pool for specific class-of-service
> - *
> - * @param[in]	cos_id		class-of-service instance.
> - * @param[in]	pool_id		Buffer pool identifier where all packet buffers
> - *				will be sourced to store packet that
> - *				belong to this class of service.
> - *
> - * @return			0 on success, -1 on error.
> - *
> - * @note Optional.
> - */
> -int odp_cos_set_pool(odp_cos_t cos_id, odp_buffer_pool_t pool_id);
> -
> -
> -/**
>    * Assign packet drop policy for specific class-of-service
>    *
>    * @param[in]	cos_id		class-of-service instance.
> @@ -203,21 +179,6 @@ int odp_pktio_set_skip(odp_pktio_t pktio_in, size_t offset);
>   int odp_pktio_set_headroom(odp_pktio_t pktio_in, size_t headroom);
>   
>   /**
> - * Specify per-cos buffer headroom
> - *
> - * @param[in]	cos_id		Class-of-service instance
> - * @param[in]	headroom	Number of bytes of space preceding packet
> - *				data to reserve for use as headroom.
> - *				Must not exceed the implementation
> - *				defined ODP_PACKET_MAX_HEADROOM.
> - *
> - * @return			0 on success, -1 on error.
> - *
> - * @note Optional.
> - */
> -int odp_cos_set_headroom(odp_cos_t cos_id, size_t headroom);
> -
> -/**
>    * Request to override per-port class of service
>    * based on Layer-2 priority field if present.
>    *
> @@ -263,60 +224,6 @@ int odp_cos_with_l3_qos(odp_pktio_t pktio_in,
>   typedef uint16_t odp_cos_flow_set_t;
>   
>   /**
> - * Set a member of the flow signature fields data set
> - */
> -static inline
> -odp_cos_flow_set_t odp_cos_flow_set(odp_cos_flow_set_t set,
> -				    odp_cos_hdr_flow_fields_e field)
> -{
> -	return set | (1U << field);
> -}
> -
> -/**
> - * Test a member of the flow signature fields data set
> - */
> -static inline bool
> -odp_cos_flow_is_set(odp_cos_flow_set_t set, odp_cos_hdr_flow_fields_e field)
> -{
> -	return (set & (1U << field)) != 0;
> -}
> -
> -/**
> - * Set up set of headers used to calculate a flow signature
> - * based on class-of-service.
> - *
> - * @param[in]	cos_id		Class of service instance identifier
> - * @param[in]	req_data_set	Requested data-set for
> - *				flow signature calculation
> - *
> - * @return			Data-set that was successfully applied.
> - *				All-zeros data set indicates a failure to
> - *				assign any of the requested fields,
> - *				or other error.
> - * @note Optional.
> - */
> -odp_cos_flow_set_t
> -odp_cos_class_flow_signature(odp_cos_t cos_id,
> -			     odp_cos_flow_set_t req_data_set);
> -
> -/**
> - * Set up set of headers used to calculate a flow signature
> - * based on ingress port.
> - *
> - * @param[in]	pktio_in	Ingress port identifier
> - * @param[in]	req_data_set	Requested data-set for
> - *				flow signature calculation
> - *
> - * @return			Data-set that was successfully applied.
> - *				An all-zeros data-set indicates a failure to
> - *				assign any of the requested fields,
> - *				or other error.
> - */
> -odp_cos_flow_set_t
> -odp_cos_port_flow_signature(odp_pktio_t pktio_in,
> -			    odp_cos_flow_set_t req_data_set);
> -
> -/**
>    * PMR - Packet Matching Rule
>    * Up to 32 bit of ternary matching of one of the available header fields
>    */
> @@ -325,7 +232,7 @@ typedef uint32_t odp_pmr_t;
>   /**
>    * Macro for Invalid PMR.
>    */
> -#define    ODP_PMR_INVAL ((odp_pmr_t)NULL)
> +#define    ODP_PMR_INVAL ((odp_pmr_t)~0)
>   
>   /**
>    * Packet Matching Rule field enumeration
> @@ -497,9 +404,6 @@ typedef uint32_t odp_pmr_set_t;
>    * @param[in]	num_terms	Number of terms in the match rule.
>    * @param[in]	terms		Array of num_terms entries, one entry per
>    *				term desired.
> - * @param[in]	dst_cos		Class-of-service to be assigned to packets
> - *				that match the compound rule-set,
> - *				or a subset thereof, if partly applied.
>    * @param[out]	pmr_set_id	Returned handle to the composite rule set.
>    *
>    * @return			Return value may be a positive number
> @@ -510,7 +414,7 @@ typedef uint32_t odp_pmr_set_t;
>    *				or -1 for error.
>    */
>   int odp_pmr_match_set_create(int num_terms, odp_pmr_match_t *terms,
> -			     odp_cos_t dst_cos, odp_pmr_set_t *pmr_set_id);
> +			     odp_pmr_set_t *pmr_set_id);
>   
>   /**
>    * Function to delete a composite packet match rule set
> diff --git a/platform/linux-generic/odp_classification.c b/platform/linux-generic/odp_classification.c
> index dbc74e2..190d71e 100644
> --- a/platform/linux-generic/odp_classification.c
> +++ b/platform/linux-generic/odp_classification.c
> @@ -27,23 +27,6 @@ int odp_cos_set_queue(odp_cos_t cos_id, odp_queue_t queue_id)
>   	return 0;
>   }
>   
> -int odp_cos_set_queue_group(odp_cos_t cos_id, odp_queue_group_t queue_group_id)
> -{
> -	(void)cos_id;
> -	(void)queue_group_id;
> -	ODP_UNIMPLEMENTED();
> -	return 0;
> -}
> -
> -int odp_cos_set_pool(odp_cos_t cos_id, odp_buffer_pool_t pool_id)
> -{
> -	(void)cos_id;
> -	(void) pool_id;
> -	ODP_UNIMPLEMENTED();
> -	return 0;
> -}
> -
> -
>   int odp_cos_set_drop(odp_cos_t cos_id, odp_drop_e drop_policy)
>   {
>   	(void)cos_id;
> @@ -59,6 +42,7 @@ int odp_pktio_set_default_cos(odp_pktio_t pktio_in, odp_cos_t default_cos)
>   	ODP_UNIMPLEMENTED();
>   	return 0;
>   }
> +
>   int odp_pktio_set_error_cos(odp_pktio_t pktio_in, odp_cos_t error_cos)
>   {
>   	(void)pktio_in;
> @@ -82,13 +66,6 @@ int odp_pktio_set_headroom(odp_pktio_t port_id, size_t headroom)
>   	ODP_UNIMPLEMENTED();
>   	return 0;
>   }
> -int odp_cos_set_headroom(odp_cos_t cos_id, size_t req_room)
> -{
> -	(void)cos_id;
> -	(void)req_room;
> -	ODP_UNIMPLEMENTED();
> -	return 0;
> -}
>   
>   int odp_cos_with_l2_priority(odp_pktio_t pktio_in,
>   			     size_t num_qos,
> @@ -118,25 +95,6 @@ int odp_cos_with_l3_qos(odp_pktio_t pktio_in,
>   	return 0;
>   }
>   
> -odp_cos_flow_set_t
> -odp_cos_class_flow_signature(odp_cos_t cos_id,
> -			     odp_cos_flow_set_t req_data_set)
> -{
> -	(void)cos_id;
> -	(void)req_data_set;
> -	ODP_UNIMPLEMENTED();
> -	return 0;
> -}
> -odp_cos_flow_set_t
> -odp_cos_port_flow_signature(odp_pktio_t pktio_in,
> -			    odp_cos_flow_set_t req_data_set)
> -{
> -	(void)pktio_in;
> -	(void)req_data_set;
> -	ODP_UNIMPLEMENTED();
> -	return 0;
> -}
> -
>   odp_pmr_t odp_pmr_create_match(odp_pmr_term_e term,
>   			       const void *val,
>   			       const void *mask,
> @@ -162,6 +120,7 @@ odp_pmr_t odp_pmr_create_range(odp_pmr_term_e term,
>   	ODP_UNIMPLEMENTED();
>   	return 0;
>   }
> +
>   int odp_pmr_destroy(odp_pmr_t pmr_id)
>   {
>   	(void)pmr_id;
> @@ -209,12 +168,11 @@ unsigned odp_pmr_terms_avail(void)
>   }
>   
>   int odp_pmr_match_set_create(int num_terms, odp_pmr_match_t *terms,
> -			     odp_cos_t dst_cos, odp_pmr_set_t *pmr_set_id)
> +			     odp_pmr_set_t *pmr_set_id)
>   {
>   	(void)num_terms;
>   	(void)terms;
>   	(void)pmr_set_id;
> -	(void)dst_cos;
>   	ODP_UNIMPLEMENTED();
>   	return 0;
>   }
diff mbox

Patch

diff --git a/platform/linux-generic/include/api/odp_classification.h b/platform/linux-generic/include/api/odp_classification.h
index cc5d84a..64ad73f 100644
--- a/platform/linux-generic/include/api/odp_classification.h
+++ b/platform/linux-generic/include/api/odp_classification.h
@@ -48,6 +48,9 @@  typedef uint32_t odp_flowsig_t;
 */
 #define ODP_COS_INVALID    ((odp_cos_t)~0)
 
+/** Maximum ClassOfService name length in chars */
+#define ODP_COS_NAME_LEN 32
+
 /**
  * Class-of-service packet drop policies
  */
@@ -110,33 +113,6 @@  int odp_cos_destroy(odp_cos_t cos_id);
 int odp_cos_set_queue(odp_cos_t cos_id, odp_queue_t queue_id);
 
 /**
- * Assign a homogenous queue-group to a class-of-service.
- *
- * @param[in]	cos_id		class-of-service instance
- * @param[in]	queue_group_id	Identifier of the queue group to receive packets
- *				associated with this class of service.
- *
- * @return			0 on success, -1 on error.
- */
-int odp_cos_set_queue_group(odp_cos_t cos_id,
-			    odp_queue_group_t queue_group_id);
-
-/**
- * Assign packet buffer pool for specific class-of-service
- *
- * @param[in]	cos_id		class-of-service instance.
- * @param[in]	pool_id		Buffer pool identifier where all packet buffers
- *				will be sourced to store packet that
- *				belong to this class of service.
- *
- * @return			0 on success, -1 on error.
- *
- * @note Optional.
- */
-int odp_cos_set_pool(odp_cos_t cos_id, odp_buffer_pool_t pool_id);
-
-
-/**
  * Assign packet drop policy for specific class-of-service
  *
  * @param[in]	cos_id		class-of-service instance.
@@ -203,21 +179,6 @@  int odp_pktio_set_skip(odp_pktio_t pktio_in, size_t offset);
 int odp_pktio_set_headroom(odp_pktio_t pktio_in, size_t headroom);
 
 /**
- * Specify per-cos buffer headroom
- *
- * @param[in]	cos_id		Class-of-service instance
- * @param[in]	headroom	Number of bytes of space preceding packet
- *				data to reserve for use as headroom.
- *				Must not exceed the implementation
- *				defined ODP_PACKET_MAX_HEADROOM.
- *
- * @return			0 on success, -1 on error.
- *
- * @note Optional.
- */
-int odp_cos_set_headroom(odp_cos_t cos_id, size_t headroom);
-
-/**
  * Request to override per-port class of service
  * based on Layer-2 priority field if present.
  *
@@ -263,60 +224,6 @@  int odp_cos_with_l3_qos(odp_pktio_t pktio_in,
 typedef uint16_t odp_cos_flow_set_t;
 
 /**
- * Set a member of the flow signature fields data set
- */
-static inline
-odp_cos_flow_set_t odp_cos_flow_set(odp_cos_flow_set_t set,
-				    odp_cos_hdr_flow_fields_e field)
-{
-	return set | (1U << field);
-}
-
-/**
- * Test a member of the flow signature fields data set
- */
-static inline bool
-odp_cos_flow_is_set(odp_cos_flow_set_t set, odp_cos_hdr_flow_fields_e field)
-{
-	return (set & (1U << field)) != 0;
-}
-
-/**
- * Set up set of headers used to calculate a flow signature
- * based on class-of-service.
- *
- * @param[in]	cos_id		Class of service instance identifier
- * @param[in]	req_data_set	Requested data-set for
- *				flow signature calculation
- *
- * @return			Data-set that was successfully applied.
- *				All-zeros data set indicates a failure to
- *				assign any of the requested fields,
- *				or other error.
- * @note Optional.
- */
-odp_cos_flow_set_t
-odp_cos_class_flow_signature(odp_cos_t cos_id,
-			     odp_cos_flow_set_t req_data_set);
-
-/**
- * Set up set of headers used to calculate a flow signature
- * based on ingress port.
- *
- * @param[in]	pktio_in	Ingress port identifier
- * @param[in]	req_data_set	Requested data-set for
- *				flow signature calculation
- *
- * @return			Data-set that was successfully applied.
- *				An all-zeros data-set indicates a failure to
- *				assign any of the requested fields,
- *				or other error.
- */
-odp_cos_flow_set_t
-odp_cos_port_flow_signature(odp_pktio_t pktio_in,
-			    odp_cos_flow_set_t req_data_set);
-
-/**
  * PMR - Packet Matching Rule
  * Up to 32 bit of ternary matching of one of the available header fields
  */
@@ -325,7 +232,7 @@  typedef uint32_t odp_pmr_t;
 /**
  * Macro for Invalid PMR.
  */
-#define    ODP_PMR_INVAL ((odp_pmr_t)NULL)
+#define    ODP_PMR_INVAL ((odp_pmr_t)~0)
 
 /**
  * Packet Matching Rule field enumeration
@@ -497,9 +404,6 @@  typedef uint32_t odp_pmr_set_t;
  * @param[in]	num_terms	Number of terms in the match rule.
  * @param[in]	terms		Array of num_terms entries, one entry per
  *				term desired.
- * @param[in]	dst_cos		Class-of-service to be assigned to packets
- *				that match the compound rule-set,
- *				or a subset thereof, if partly applied.
  * @param[out]	pmr_set_id	Returned handle to the composite rule set.
  *
  * @return			Return value may be a positive number
@@ -510,7 +414,7 @@  typedef uint32_t odp_pmr_set_t;
  *				or -1 for error.
  */
 int odp_pmr_match_set_create(int num_terms, odp_pmr_match_t *terms,
-			     odp_cos_t dst_cos, odp_pmr_set_t *pmr_set_id);
+			     odp_pmr_set_t *pmr_set_id);
 
 /**
  * Function to delete a composite packet match rule set
diff --git a/platform/linux-generic/odp_classification.c b/platform/linux-generic/odp_classification.c
index dbc74e2..190d71e 100644
--- a/platform/linux-generic/odp_classification.c
+++ b/platform/linux-generic/odp_classification.c
@@ -27,23 +27,6 @@  int odp_cos_set_queue(odp_cos_t cos_id, odp_queue_t queue_id)
 	return 0;
 }
 
-int odp_cos_set_queue_group(odp_cos_t cos_id, odp_queue_group_t queue_group_id)
-{
-	(void)cos_id;
-	(void)queue_group_id;
-	ODP_UNIMPLEMENTED();
-	return 0;
-}
-
-int odp_cos_set_pool(odp_cos_t cos_id, odp_buffer_pool_t pool_id)
-{
-	(void)cos_id;
-	(void) pool_id;
-	ODP_UNIMPLEMENTED();
-	return 0;
-}
-
-
 int odp_cos_set_drop(odp_cos_t cos_id, odp_drop_e drop_policy)
 {
 	(void)cos_id;
@@ -59,6 +42,7 @@  int odp_pktio_set_default_cos(odp_pktio_t pktio_in, odp_cos_t default_cos)
 	ODP_UNIMPLEMENTED();
 	return 0;
 }
+
 int odp_pktio_set_error_cos(odp_pktio_t pktio_in, odp_cos_t error_cos)
 {
 	(void)pktio_in;
@@ -82,13 +66,6 @@  int odp_pktio_set_headroom(odp_pktio_t port_id, size_t headroom)
 	ODP_UNIMPLEMENTED();
 	return 0;
 }
-int odp_cos_set_headroom(odp_cos_t cos_id, size_t req_room)
-{
-	(void)cos_id;
-	(void)req_room;
-	ODP_UNIMPLEMENTED();
-	return 0;
-}
 
 int odp_cos_with_l2_priority(odp_pktio_t pktio_in,
 			     size_t num_qos,
@@ -118,25 +95,6 @@  int odp_cos_with_l3_qos(odp_pktio_t pktio_in,
 	return 0;
 }
 
-odp_cos_flow_set_t
-odp_cos_class_flow_signature(odp_cos_t cos_id,
-			     odp_cos_flow_set_t req_data_set)
-{
-	(void)cos_id;
-	(void)req_data_set;
-	ODP_UNIMPLEMENTED();
-	return 0;
-}
-odp_cos_flow_set_t
-odp_cos_port_flow_signature(odp_pktio_t pktio_in,
-			    odp_cos_flow_set_t req_data_set)
-{
-	(void)pktio_in;
-	(void)req_data_set;
-	ODP_UNIMPLEMENTED();
-	return 0;
-}
-
 odp_pmr_t odp_pmr_create_match(odp_pmr_term_e term,
 			       const void *val,
 			       const void *mask,
@@ -162,6 +120,7 @@  odp_pmr_t odp_pmr_create_range(odp_pmr_term_e term,
 	ODP_UNIMPLEMENTED();
 	return 0;
 }
+
 int odp_pmr_destroy(odp_pmr_t pmr_id)
 {
 	(void)pmr_id;
@@ -209,12 +168,11 @@  unsigned odp_pmr_terms_avail(void)
 }
 
 int odp_pmr_match_set_create(int num_terms, odp_pmr_match_t *terms,
-			     odp_cos_t dst_cos, odp_pmr_set_t *pmr_set_id)
+			     odp_pmr_set_t *pmr_set_id)
 {
 	(void)num_terms;
 	(void)terms;
 	(void)pmr_set_id;
-	(void)dst_cos;
 	ODP_UNIMPLEMENTED();
 	return 0;
 }