@@ -30,16 +30,6 @@ extern "C" {
/**
@internal
-match_qos_cos
-
-Select a CoS for the given Packet based on QoS values
-This function returns the COS object matching the L2 and L3 QoS
-based on the l3_preference value of the pktio
-**/
-cos_t *match_qos_cos(pktio_entry_t *entry, const uint8_t *pkt_addr,
- odp_packet_hdr_t *hdr);
-/**
-@internal
Packet Classifier
@@ -59,39 +49,11 @@ This function should be called during pktio initialization.
**/
int pktio_classifier_init(pktio_entry_t *pktio);
-/**
-@internal
-match_pmr_cos
-
-Match a PMR chain with a Packet and return matching CoS
-This function gets called recursively to check the chained PMR Term value
-with the packet.
-
-**/
-cos_t *match_pmr_cos(cos_t *cos, const uint8_t *pkt_addr, pmr_t *pmr,
- odp_packet_hdr_t *hdr);
-/**
-@internal
-CoS associated with L3 QoS value
-
-This function returns the CoS associated with L3 QoS value
-**/
-cos_t *match_qos_l3_cos(pmr_l3_cos_t *l3_cos, const uint8_t *pkt_addr,
- odp_packet_hdr_t *hdr);
-
void _odp_cls_update_hash_proto(cos_t *cos,
odp_pktin_hash_proto_t hash_proto);
/**
@internal
-CoS associated with L2 QoS value
-
-This function returns the CoS associated with L2 QoS value
-**/
-cos_t *match_qos_l2_cos(pmr_l2_cos_t *l2_cos, const uint8_t *pkt_addr,
- odp_packet_hdr_t *hdr);
-/**
-@internal
Flow Signature Calculation
This function calculates the Flow Signature for a packet based on
@@ -99,52 +61,6 @@ CoS and updates in Packet Meta Data
**/
int update_flow_signature(uint8_t *pkt_addr, cos_t *cos);
-/**
-@internal
-Allocate a odp_pmr_t Handle
-*/
-odp_pmr_t alloc_pmr(pmr_t **pmr);
-
-/**
-@internal
-Pointer to pmr_t Handle
-This function checks for validity of odp_pmr_t Handle
-*/
-pmr_t *get_pmr_entry(odp_pmr_t pmr_id);
-
-/**
-@internal
-Pointer to pmr_t Handle
-*/
-pmr_t *get_pmr_entry_internal(odp_pmr_t pmr_id);
-
-/**
-@internal
-Pointer to odp_cos_t Handle
-*/
-cos_t *get_cos_entry(odp_cos_t cos_id);
-
-/**
-@internal
-Pointer to odp_cos_t Handle
-This function checks for validity of odp_cos_t Handle
-*/
-cos_t *get_cos_entry_internal(odp_cos_t cos_id);
-
-/**
-@internal
-Verify PMR with a Packet
-
-This function goes through each PMR_TERM value in pmr_t structure and
-calls verification function for each term.Returns 1 if PMR matches or 0
-Otherwise.
-**/
-int verify_pmr(pmr_t *pmr, const uint8_t *pkt_addr, odp_packet_hdr_t *pkt_hdr);
-
-uint32_t packet_rss_hash(odp_packet_hdr_t *pkt_hdr,
- odp_cls_hash_proto_t hash_proto,
- const uint8_t *base);
-
#ifdef __cplusplus
}
#endif
@@ -33,6 +33,7 @@ static cos_tbl_t *cos_tbl;
static pmr_tbl_t *pmr_tbl;
static _cls_queue_grp_tbl_t *queue_grp_tbl;
+static
const rss_key default_rss = {
.u8 = {
0x6d, 0x5a, 0x56, 0xda, 0x25, 0x5b, 0x0e, 0xc2,
@@ -43,11 +44,13 @@ const rss_key default_rss = {
}
};
+static
cos_t *get_cos_entry_internal(odp_cos_t cos_id)
{
return &cos_tbl->cos_entry[_odp_typeval(cos_id)];
}
+static
pmr_t *get_pmr_entry_internal(odp_pmr_t pmr_id)
{
return &pmr_tbl->pmr[_odp_typeval(pmr_id)];
@@ -273,6 +276,10 @@ odp_cos_t odp_cls_cos_create(const char *name, odp_cls_cos_param_t *param)
return ODP_COS_INVALID;
}
+/*
+ * Allocate an odp_pmr_t Handle
+ */
+static
odp_pmr_t alloc_pmr(pmr_t **pmr)
{
int i;
@@ -293,6 +300,7 @@ odp_pmr_t alloc_pmr(pmr_t **pmr)
return ODP_PMR_INVAL;
}
+static
cos_t *get_cos_entry(odp_cos_t cos_id)
{
if (_odp_typeval(cos_id) >= CLS_COS_MAX_ENTRY ||
@@ -303,6 +311,7 @@ cos_t *get_cos_entry(odp_cos_t cos_id)
return &cos_tbl->cos_entry[_odp_typeval(cos_id)];
}
+static
pmr_t *get_pmr_entry(odp_pmr_t pmr_id)
{
if (_odp_typeval(pmr_id) >= CLS_PMR_MAX_ENTRY ||
@@ -707,6 +716,11 @@ odp_pool_t odp_cls_cos_pool(odp_cos_t cos_id)
return cos->s.pool;
}
+/*
+ * This function goes through each PMR_TERM value in pmr_t structure and calls
+ * verification function for each term.Returns 1 if PMR matches or 0 otherwise.
+ */
+static
int verify_pmr(pmr_t *pmr, const uint8_t *pkt_addr, odp_packet_hdr_t *pkt_hdr)
{
int pmr_failure = 0;
@@ -825,6 +839,12 @@ int verify_pmr(pmr_t *pmr, const uint8_t *pkt_addr, odp_packet_hdr_t *pkt_hdr)
return true;
}
+/*
+ * Match a PMR chain with a Packet and return matching CoS
+ * This function gets called recursively to check the chained PMR Term value
+ * with the packet.
+ */
+static
cos_t *match_pmr_cos(cos_t *cos, const uint8_t *pkt_addr, pmr_t *pmr,
odp_packet_hdr_t *hdr)
{
@@ -871,6 +891,10 @@ int pktio_classifier_init(pktio_entry_t *entry)
return 0;
}
+static
+cos_t *match_qos_cos(pktio_entry_t *entry, const uint8_t *pkt_addr,
+ odp_packet_hdr_t *hdr);
+
/**
Select a CoS for the given Packet based on pktio
@@ -914,6 +938,11 @@ static inline cos_t *cls_select_cos(pktio_entry_t *entry,
return cls->default_cos;
}
+static
+uint32_t packet_rss_hash(odp_packet_hdr_t *pkt_hdr,
+ odp_cls_hash_proto_t hash_proto,
+ const uint8_t *base);
+
/**
* Classify packet
*
@@ -969,6 +998,7 @@ int cls_classify_packet(pktio_entry_t *entry, const uint8_t *base,
return 0;
}
+static
uint32_t packet_rss_hash(odp_packet_hdr_t *pkt_hdr,
odp_cls_hash_proto_t hash_proto,
const uint8_t *base)
@@ -1037,6 +1067,7 @@ uint32_t packet_rss_hash(odp_packet_hdr_t *pkt_hdr,
return hash;
}
+static
cos_t *match_qos_l3_cos(pmr_l3_cos_t *l3_cos, const uint8_t *pkt_addr,
odp_packet_hdr_t *hdr)
{
@@ -1058,6 +1089,7 @@ cos_t *match_qos_l3_cos(pmr_l3_cos_t *l3_cos, const uint8_t *pkt_addr,
return cos;
}
+static
cos_t *match_qos_l2_cos(pmr_l2_cos_t *l2_cos, const uint8_t *pkt_addr,
odp_packet_hdr_t *hdr)
{
@@ -1077,6 +1109,12 @@ cos_t *match_qos_l2_cos(pmr_l2_cos_t *l2_cos, const uint8_t *pkt_addr,
return cos;
}
+/*
+ * Select a CoS for the given Packet based on QoS values
+ * This function returns the COS object matching the L2 and L3 QoS
+ * based on the l3_preference value of the pktio
+*/
+static
cos_t *match_qos_cos(pktio_entry_t *entry, const uint8_t *pkt_addr,
odp_packet_hdr_t *hdr)
{