aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-generic/odp_classification.c
diff options
context:
space:
mode:
authorNicolas Morey-Chaisemartin <nmorey@kalray.eu>2015-10-09 09:34:20 +0200
committerMaxim Uvarov <maxim.uvarov@linaro.org>2015-10-22 15:46:22 +0300
commit886ede2fa7881a85e07a64031aa9919a8a4706e3 (patch)
tree38027b70bd5074e59f9f4ff4888531b7c39b3c42 /platform/linux-generic/odp_classification.c
parent9e6d99621dc532190d318a6786364d057e688478 (diff)
linux-generic: classification: implement ODP_PMR_CUSTOM_FRAME matching
Signed-off-by: BenoƮt Ganne <bganne@kalray.eu> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Balasubramanian Manoharan <bala.manoharan@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'platform/linux-generic/odp_classification.c')
-rw-r--r--platform/linux-generic/odp_classification.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/platform/linux-generic/odp_classification.c b/platform/linux-generic/odp_classification.c
index 45f62baf..d5ca13fd 100644
--- a/platform/linux-generic/odp_classification.c
+++ b/platform/linux-generic/odp_classification.c
@@ -448,6 +448,8 @@ static void odp_pmr_create_term(pmr_term_value_t *value,
const odp_pmr_match_t *match)
{
value->term = match->term;
+ value->offset = match->offset;
+ value->val_sz = match->val_sz;
value->val = 0;
value->mask = 0;
memcpy(&value->val, match->val, match->val_sz);
@@ -761,6 +763,11 @@ int verify_pmr(pmr_t *pmr, uint8_t *pkt_addr, odp_packet_hdr_t *pkt_hdr)
term_value))
pmr_failure = 1;
break;
+ case ODP_PMR_CUSTOM_FRAME:
+ if (!verify_pmr_custom_frame(pkt_addr, pkt_hdr,
+ term_value))
+ pmr_failure = 1;
+ break;
case ODP_PMR_INNER_HDR_OFF:
break;
}