pipeline: create inline functions for validate instruction
authorCristian Dumitrescu <cristian.dumitrescu@intel.com>
Mon, 13 Sep 2021 16:44:26 +0000 (17:44 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 27 Sep 2021 10:03:07 +0000 (12:03 +0200)
Create inline functions for the validate and invalidate instructions.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
lib/pipeline/rte_swx_pipeline.c
lib/pipeline/rte_swx_pipeline_internal.h

index 80c5fb9..6c6d8e5 100644 (file)
@@ -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);
index 8b37a98..312490f 100644 (file)
@@ -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