summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluwenpeng <[email protected]>2023-11-21 11:20:48 +0800
committerluwenpeng <[email protected]>2023-11-21 11:20:48 +0800
commit332fe52650778e31d797f8e4071b20d05b7544cc (patch)
tree9cdea9a157e95b3027442c06a785c04e315026e4
parentb3841fcaff7f8d9a3147a975ebf292cf80ed213d (diff)
perf: action_sf_chaining调用的小函数定义为inline
-rw-r--r--common/include/utils.h6
-rw-r--r--common/src/utils.cpp10
-rw-r--r--platform/src/packet_io.cpp22
3 files changed, 16 insertions, 22 deletions
diff --git a/common/include/utils.h b/common/include/utils.h
index 9d3ee80..567aac5 100644
--- a/common/include/utils.h
+++ b/common/include/utils.h
@@ -92,7 +92,11 @@ struct throughput_metrics
uint64_t n_bytes;
};
-void throughput_metrics_inc(struct throughput_metrics *iterm, uint64_t n_pkts, uint64_t n_bytes);
+static inline void throughput_metrics_inc(struct throughput_metrics *iterm, uint64_t n_pkts, uint64_t n_bytes)
+{
+ iterm->n_bytes += n_bytes;
+ iterm->n_pkts += n_pkts;
+}
/******************************************************************************
* device
diff --git a/common/src/utils.cpp b/common/src/utils.cpp
index d139e53..52df192 100644
--- a/common/src/utils.cpp
+++ b/common/src/utils.cpp
@@ -144,16 +144,6 @@ void route_ctx_copy(struct route_ctx *dst, struct route_ctx *src)
}
/******************************************************************************
- * throughput_metrics
- ******************************************************************************/
-
-void throughput_metrics_inc(struct throughput_metrics *iterm, uint64_t n_pkts, uint64_t n_bytes)
-{
- iterm->n_bytes += n_bytes;
- iterm->n_pkts += n_pkts;
-}
-
-/******************************************************************************
* device
******************************************************************************/
diff --git a/platform/src/packet_io.cpp b/platform/src/packet_io.cpp
index 345de21..305d418 100644
--- a/platform/src/packet_io.cpp
+++ b/platform/src/packet_io.cpp
@@ -493,7 +493,7 @@ void vlan_encapsulate(marsio_buff_t *mbuff, int vlan_id, int replace_orig_vlan_h
}
}
-static int send_packet_to_sf(struct session_ctx *session_ctx, marsio_buff_t *mbuff, struct metadata *meta, struct selected_sf *sf, struct thread_ctx *thread_ctx)
+static inline int send_packet_to_sf(struct session_ctx *session_ctx, marsio_buff_t *mbuff, struct metadata *meta, struct selected_sf *sf, struct thread_ctx *thread_ctx)
{
thread_ctx->tx_packets_ipid++;
int nsend = 0;
@@ -533,9 +533,9 @@ static int send_packet_to_sf(struct session_ctx *session_ctx, marsio_buff_t *mbu
return nsend;
}
-static int action_nf_inject(marsio_buff_t *rx_buff, struct metadata *meta, struct selected_sf *sf, struct thread_ctx *thread_ctx);
+static inline int action_nf_inject(marsio_buff_t *rx_buff, struct metadata *meta, struct selected_sf *sf, struct thread_ctx *thread_ctx);
-static void action_err_bypass(marsio_buff_t *rx_buff, struct metadata *meta, struct selected_sf *sf, struct thread_ctx *thread_ctx)
+static inline void action_err_bypass(marsio_buff_t *rx_buff, struct metadata *meta, struct selected_sf *sf, struct thread_ctx *thread_ctx)
{
struct thread_metrics *thread_metrics = &thread_ctx->thread_metrics;
@@ -546,7 +546,7 @@ static void action_err_bypass(marsio_buff_t *rx_buff, struct metadata *meta, str
}
}
-static void action_err_block(marsio_buff_t *rx_buff, struct metadata *meta, struct selected_sf *sf, struct thread_ctx *thread_ctx)
+static inline void action_err_block(marsio_buff_t *rx_buff, struct metadata *meta, struct selected_sf *sf, struct thread_ctx *thread_ctx)
{
struct thread_metrics *thread_metrics = &thread_ctx->thread_metrics;
struct packet_io *packet_io = thread_ctx->ref_io;
@@ -558,7 +558,7 @@ static void action_err_block(marsio_buff_t *rx_buff, struct metadata *meta, stru
}
// return nsend
-static int action_nf_inject(marsio_buff_t *rx_buff, struct metadata *meta, struct selected_sf *sf, struct thread_ctx *thread_ctx)
+static inline int action_nf_inject(marsio_buff_t *rx_buff, struct metadata *meta, struct selected_sf *sf, struct thread_ctx *thread_ctx)
{
struct thread_metrics *thread_metrics = &thread_ctx->thread_metrics;
struct packet_io *packet_io = thread_ctx->ref_io;
@@ -577,7 +577,7 @@ static int action_nf_inject(marsio_buff_t *rx_buff, struct metadata *meta, struc
return raw_len;
}
-static void action_mirr_bypass(marsio_buff_t *rx_buff, struct metadata *meta, struct selected_sf *sf, struct thread_ctx *thread_ctx)
+static inline void action_mirr_bypass(marsio_buff_t *rx_buff, struct metadata *meta, struct selected_sf *sf, struct thread_ctx *thread_ctx)
{
struct thread_metrics *thread_metrics = &thread_ctx->thread_metrics;
@@ -585,7 +585,7 @@ static void action_mirr_bypass(marsio_buff_t *rx_buff, struct metadata *meta, st
throughput_metrics_inc(&(thread_metrics->data_pkt.mirr_bypass), 1, raw_len);
}
-static void action_mirr_block(marsio_buff_t *rx_buff, struct metadata *meta, struct selected_sf *sf, struct thread_ctx *thread_ctx)
+static inline void action_mirr_block(marsio_buff_t *rx_buff, struct metadata *meta, struct selected_sf *sf, struct thread_ctx *thread_ctx)
{
struct thread_metrics *thread_metrics = &thread_ctx->thread_metrics;
@@ -593,7 +593,7 @@ static void action_mirr_block(marsio_buff_t *rx_buff, struct metadata *meta, str
throughput_metrics_inc(&(thread_metrics->data_pkt.mirr_block), 1, raw_len);
}
-static void action_mirr_forward(struct session_ctx *session_ctx, marsio_buff_t *rx_buff, struct metadata *meta, struct selected_sf *sf, struct thread_ctx *thread_ctx)
+static inline void action_mirr_forward(struct session_ctx *session_ctx, marsio_buff_t *rx_buff, struct metadata *meta, struct selected_sf *sf, struct thread_ctx *thread_ctx)
{
struct thread_metrics *thread_metrics = &thread_ctx->thread_metrics;
struct packet_io *packet_io = thread_ctx->ref_io;
@@ -618,7 +618,7 @@ static void action_mirr_forward(struct session_ctx *session_ctx, marsio_buff_t *
sf_metrics_inc(thread_ctx->sf_metrics, sf->rule_vsys_id, sf->rule_id, sf->sff_profile_id, sf->sf_profile_id, 0, 0, 1, nsend);
}
-static void action_stee_bypass(marsio_buff_t *rx_buff, struct metadata *meta, struct selected_sf *sf, struct thread_ctx *thread_ctx)
+static inline void action_stee_bypass(marsio_buff_t *rx_buff, struct metadata *meta, struct selected_sf *sf, struct thread_ctx *thread_ctx)
{
struct thread_metrics *thread_metrics = &thread_ctx->thread_metrics;
@@ -626,7 +626,7 @@ static void action_stee_bypass(marsio_buff_t *rx_buff, struct metadata *meta, st
throughput_metrics_inc(&(thread_metrics->data_pkt.stee_bypass), 1, raw_len);
}
-static void action_stee_block(marsio_buff_t *rx_buff, struct metadata *meta, struct selected_sf *sf, struct thread_ctx *thread_ctx)
+static inline void action_stee_block(marsio_buff_t *rx_buff, struct metadata *meta, struct selected_sf *sf, struct thread_ctx *thread_ctx)
{
struct thread_metrics *thread_metrics = &thread_ctx->thread_metrics;
struct packet_io *packet_io = thread_ctx->ref_io;
@@ -637,7 +637,7 @@ static void action_stee_block(marsio_buff_t *rx_buff, struct metadata *meta, str
marsio_buff_free(packet_io->instance, &rx_buff, 1, 0, thread_index);
}
-static void action_stee_forward(struct session_ctx *session_ctx, marsio_buff_t *rx_buff, struct metadata *meta, struct selected_sf *sf, struct thread_ctx *thread_ctx)
+static inline void action_stee_forward(struct session_ctx *session_ctx, marsio_buff_t *rx_buff, struct metadata *meta, struct selected_sf *sf, struct thread_ctx *thread_ctx)
{
struct thread_metrics *thread_metrics = &thread_ctx->thread_metrics;