add packet type raw and pseudo
This commit is contained in:
@@ -136,7 +136,7 @@ static void on_packet_forward(struct packet *pkt, enum packet_stage stage, void
|
||||
struct session *sess = session_manager_rte_lookup_session_by_packet(sess_mgr_rte, pkt);
|
||||
if (sess == NULL)
|
||||
{
|
||||
if (packet_is_ctrl(pkt))
|
||||
if (packet_get_type(pkt) == PACKET_TYPE_PSEUDO)
|
||||
{
|
||||
goto fast_path;
|
||||
}
|
||||
@@ -154,7 +154,7 @@ static void on_packet_forward(struct packet *pkt, enum packet_stage stage, void
|
||||
}
|
||||
else
|
||||
{
|
||||
if (packet_is_ctrl(pkt))
|
||||
if (packet_get_type(pkt) == PACKET_TYPE_PSEUDO)
|
||||
{
|
||||
goto ctrl_path;
|
||||
}
|
||||
@@ -226,17 +226,17 @@ static void on_packet_output(struct packet *pkt, enum packet_stage stage, void *
|
||||
flow = FLOW_TYPE_S2C;
|
||||
}
|
||||
|
||||
int is_ctrl = packet_is_ctrl(pkt);
|
||||
int is_pseudo = (packet_get_type(pkt) == PACKET_TYPE_PSEUDO);
|
||||
uint16_t len = packet_get_raw_len(pkt);
|
||||
switch (packet_get_action(pkt))
|
||||
{
|
||||
case PACKET_ACTION_DROP:
|
||||
session_inc_stat(sess, flow, (is_ctrl ? STAT_CONTROL_PACKETS_DROPPED : STAT_RAW_PACKETS_DROPPED), 1);
|
||||
session_inc_stat(sess, flow, (is_ctrl ? STAT_CONTROL_BYTES_DROPPED : STAT_RAW_BYTES_DROPPED), len);
|
||||
session_inc_stat(sess, flow, (is_pseudo ? STAT_PSEUDO_PACKETS_DROPPED : STAT_RAW_PACKETS_DROPPED), 1);
|
||||
session_inc_stat(sess, flow, (is_pseudo ? STAT_PSEUDO_BYTES_DROPPED : STAT_RAW_BYTES_DROPPED), len);
|
||||
break;
|
||||
case PACKET_ACTION_FORWARD:
|
||||
session_inc_stat(sess, flow, (is_ctrl ? STAT_CONTROL_PACKETS_TRANSMITTED : STAT_RAW_PACKETS_TRANSMITTED), 1);
|
||||
session_inc_stat(sess, flow, (is_ctrl ? STAT_CONTROL_BYTES_TRANSMITTED : STAT_RAW_BYTES_TRANSMITTED), len);
|
||||
session_inc_stat(sess, flow, (is_pseudo ? STAT_PSEUDO_PACKETS_TRANSMITTED : STAT_RAW_PACKETS_TRANSMITTED), 1);
|
||||
session_inc_stat(sess, flow, (is_pseudo ? STAT_PSEUDO_BYTES_TRANSMITTED : STAT_RAW_BYTES_TRANSMITTED), len);
|
||||
break;
|
||||
default:
|
||||
assert(0);
|
||||
|
||||
@@ -412,14 +412,14 @@ int session_to_str(const struct session *sess, int bref, char *buff, int size)
|
||||
used += snprintf(buff + used, size - used, "\"%s_injected_bytes_success\":%" PRIu64 ",", str[i], session_get_stat(sess, type[i], STAT_INJECTED_BYTES_SUCCESS));
|
||||
|
||||
// control packets
|
||||
used += snprintf(buff + used, size - used, "\"%s_control_packets_received\":%" PRIu64 ",", str[i], session_get_stat(sess, type[i], STAT_CONTROL_PACKETS_RECEIVED));
|
||||
used += snprintf(buff + used, size - used, "\"%s_control_bytes_received\":%" PRIu64 ",", str[i], session_get_stat(sess, type[i], STAT_CONTROL_BYTES_RECEIVED));
|
||||
used += snprintf(buff + used, size - used, "\"%s_pseudo_packets_received\":%" PRIu64 ",", str[i], session_get_stat(sess, type[i], STAT_PSEUDO_PACKETS_RECEIVED));
|
||||
used += snprintf(buff + used, size - used, "\"%s_pseudo_bytes_received\":%" PRIu64 ",", str[i], session_get_stat(sess, type[i], STAT_PSEUDO_BYTES_RECEIVED));
|
||||
|
||||
used += snprintf(buff + used, size - used, "\"%s_control_packets_transmitted\":%" PRIu64 ",", str[i], session_get_stat(sess, type[i], STAT_CONTROL_PACKETS_TRANSMITTED));
|
||||
used += snprintf(buff + used, size - used, "\"%s_control_bytes_transmitted\":%" PRIu64 ",", str[i], session_get_stat(sess, type[i], STAT_CONTROL_BYTES_TRANSMITTED));
|
||||
used += snprintf(buff + used, size - used, "\"%s_pseudo_packets_transmitted\":%" PRIu64 ",", str[i], session_get_stat(sess, type[i], STAT_PSEUDO_PACKETS_TRANSMITTED));
|
||||
used += snprintf(buff + used, size - used, "\"%s_pseudo_bytes_transmitted\":%" PRIu64 ",", str[i], session_get_stat(sess, type[i], STAT_PSEUDO_BYTES_TRANSMITTED));
|
||||
|
||||
used += snprintf(buff + used, size - used, "\"%s_control_packets_dropped\":%" PRIu64 ",", str[i], session_get_stat(sess, type[i], STAT_CONTROL_PACKETS_DROPPED));
|
||||
used += snprintf(buff + used, size - used, "\"%s_control_bytes_dropped\":%" PRIu64 ",", str[i], session_get_stat(sess, type[i], STAT_CONTROL_BYTES_DROPPED));
|
||||
used += snprintf(buff + used, size - used, "\"%s_pseudo_packets_dropped\":%" PRIu64 ",", str[i], session_get_stat(sess, type[i], STAT_PSEUDO_PACKETS_DROPPED));
|
||||
used += snprintf(buff + used, size - used, "\"%s_pseudo_bytes_dropped\":%" PRIu64 ",", str[i], session_get_stat(sess, type[i], STAT_PSEUDO_BYTES_DROPPED));
|
||||
|
||||
if (session_get_type(sess) == SESSION_TYPE_TCP)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user