From 4565d7db7047db1d43e9d2092b106c569011f8a7 Mon Sep 17 00:00:00 2001 From: Cristian Dumitrescu Date: Mon, 13 Sep 2021 17:44:26 +0100 Subject: [PATCH] pipeline: create inline functions for validate instruction Create inline functions for the validate and invalidate instructions. Signed-off-by: Cristian Dumitrescu --- lib/pipeline/rte_swx_pipeline.c | 12 ++------- lib/pipeline/rte_swx_pipeline_internal.h | 32 ++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/lib/pipeline/rte_swx_pipeline.c b/lib/pipeline/rte_swx_pipeline.c index 80c5fb94bb..6c6d8e52a5 100644 --- a/lib/pipeline/rte_swx_pipeline.c +++ b/lib/pipeline/rte_swx_pipeline.c @@ -1953,12 +1953,8 @@ instr_hdr_validate_exec(struct rte_swx_pipeline *p) { struct thread *t = &p->threads[p->thread_id]; struct instruction *ip = t->ip; - uint32_t header_id = ip->valid.header_id; - TRACE("[Thread %2u] validate header %u\n", p->thread_id, header_id); - - /* Headers. */ - t->valid_headers = MASK64_BIT_SET(t->valid_headers, header_id); + __instr_hdr_validate_exec(p, t, ip); /* Thread. */ thread_ip_inc(p); @@ -1992,12 +1988,8 @@ instr_hdr_invalidate_exec(struct rte_swx_pipeline *p) { struct thread *t = &p->threads[p->thread_id]; struct instruction *ip = t->ip; - uint32_t header_id = ip->valid.header_id; - - TRACE("[Thread %2u] invalidate header %u\n", p->thread_id, header_id); - /* Headers. */ - t->valid_headers = MASK64_BIT_CLR(t->valid_headers, header_id); + __instr_hdr_invalidate_exec(p, t, ip); /* Thread. */ thread_ip_inc(p); diff --git a/lib/pipeline/rte_swx_pipeline_internal.h b/lib/pipeline/rte_swx_pipeline_internal.h index 8b37a9812e..312490f11a 100644 --- a/lib/pipeline/rte_swx_pipeline_internal.h +++ b/lib/pipeline/rte_swx_pipeline_internal.h @@ -1928,4 +1928,36 @@ __instr_hdr_emit8_tx_exec(struct rte_swx_pipeline *p, __instr_tx_exec(p, t, ip); } +/* + * validate. + */ +static inline void +__instr_hdr_validate_exec(struct rte_swx_pipeline *p __rte_unused, + struct thread *t, + const struct instruction *ip) +{ + uint32_t header_id = ip->valid.header_id; + + TRACE("[Thread %2u] validate header %u\n", p->thread_id, header_id); + + /* Headers. */ + t->valid_headers = MASK64_BIT_SET(t->valid_headers, header_id); +} + +/* + * invalidate. + */ +static inline void +__instr_hdr_invalidate_exec(struct rte_swx_pipeline *p __rte_unused, + struct thread *t, + const struct instruction *ip) +{ + uint32_t header_id = ip->valid.header_id; + + TRACE("[Thread %2u] invalidate header %u\n", p->thread_id, header_id); + + /* Headers. */ + t->valid_headers = MASK64_BIT_CLR(t->valid_headers, header_id); +} + #endif -- 2.20.1