TSG-13196 Decrypted Traffic Steering时照常统计intercept bytes
* STAT_STREAM_INCPT_DOWN_BYTES
* STAT_STREAM_INCPT_UP_BYTES
* STAT_STREAM_INCPT_BYTES
This commit is contained in:
@@ -597,21 +597,19 @@ static void __stream_bev_readcb(struct bufferevent * bev, void * arg)
|
|||||||
struct tfe_conn_private * peer_conn = NULL;
|
struct tfe_conn_private * peer_conn = NULL;
|
||||||
struct evbuffer * inbuf = NULL;
|
struct evbuffer * inbuf = NULL;
|
||||||
struct evbuffer * outbuf = NULL;
|
struct evbuffer * outbuf = NULL;
|
||||||
|
int inbuff_len = 0;
|
||||||
|
|
||||||
if (steering_device_is_available() && (
|
if (steering_device_is_available() && (
|
||||||
(STREAM_PROTO_PLAIN == _stream->session_type && _stream->proxy_ref->traffic_steering_options.enable_steering_http) ||
|
(STREAM_PROTO_PLAIN == _stream->session_type && _stream->proxy_ref->traffic_steering_options.enable_steering_http) ||
|
||||||
(STREAM_PROTO_SSL == _stream->session_type &&_stream->proxy_ref->traffic_steering_options.enable_steering_ssl)))
|
(STREAM_PROTO_SSL == _stream->session_type &&_stream->proxy_ref->traffic_steering_options.enable_steering_ssl)))
|
||||||
{
|
{
|
||||||
enum TFE_STAT_FIELD stat_filed = TFE_STAT_MAX;
|
|
||||||
if (bev == _stream->conn_downstream->bev)
|
if (bev == _stream->conn_downstream->bev)
|
||||||
{
|
{
|
||||||
peer_conn = _stream->conn_fake_c;
|
peer_conn = _stream->conn_fake_c;
|
||||||
stat_filed = STAT_STEERING_CLIENT_TX_B;
|
|
||||||
}
|
}
|
||||||
else if (bev == _stream->conn_upstream->bev)
|
else if (bev == _stream->conn_upstream->bev)
|
||||||
{
|
{
|
||||||
peer_conn = _stream->conn_fake_s;
|
peer_conn = _stream->conn_fake_s;
|
||||||
stat_filed = STAT_STEERING_SERVER_TX_B;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -623,22 +621,39 @@ static void __stream_bev_readcb(struct bufferevent * bev, void * arg)
|
|||||||
* This connection will be destoryed in __event_cb
|
* This connection will be destoryed in __event_cb
|
||||||
*/
|
*/
|
||||||
inbuf = bufferevent_get_input(bev);
|
inbuf = bufferevent_get_input(bev);
|
||||||
|
inbuff_len = evbuffer_get_length(inbuf);
|
||||||
if (peer_conn == NULL)
|
if (peer_conn == NULL)
|
||||||
{
|
{
|
||||||
evbuffer_drain(inbuf, evbuffer_get_length(inbuf));
|
evbuffer_drain(inbuf, inbuff_len);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
TFE_LOG_DEBUG(__STREAM_LOGGER(_stream), "decrypted traffic steering, %s send %d bytes from %s to %s",
|
TFE_LOG_DEBUG(__STREAM_LOGGER(_stream), "decrypted traffic steering, %s send %d bytes from %s to %s",
|
||||||
_stream->str_stream_addr,
|
_stream->str_stream_addr,
|
||||||
evbuffer_get_length(inbuf),
|
inbuff_len,
|
||||||
bev == _stream->conn_downstream->bev ? "conn_downstream" : "conn_upstream",
|
bev == _stream->conn_downstream->bev ? "conn_downstream" : "conn_upstream",
|
||||||
bev == _stream->conn_downstream->bev ? "conn_fake_c" : "conn_fake_s");
|
bev == _stream->conn_downstream->bev ? "conn_fake_c" : "conn_fake_s");
|
||||||
|
|
||||||
TFE_PROXY_STAT_INCREASE(stat_filed, evbuffer_get_length(inbuf));
|
|
||||||
outbuf = bufferevent_get_output(peer_conn->bev);
|
outbuf = bufferevent_get_output(peer_conn->bev);
|
||||||
evbuffer_add_buffer(outbuf, inbuf);
|
evbuffer_add_buffer(outbuf, inbuf);
|
||||||
|
|
||||||
|
if (bev == _stream->conn_downstream->bev)
|
||||||
|
{
|
||||||
|
TFE_PROXY_STAT_INCREASE(STAT_STEERING_CLIENT_TX_B, inbuff_len);
|
||||||
|
// TODO: Delete the following code when support calling the tfe-plugin
|
||||||
|
TFE_PROXY_STAT_INCREASE(STAT_STREAM_INCPT_DOWN_BYTES, inbuff_len);
|
||||||
|
_stream->downstream_rx_offset += inbuff_len;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TFE_PROXY_STAT_INCREASE(STAT_STEERING_SERVER_TX_B, inbuff_len);
|
||||||
|
// TODO: Delete the following code when support calling the tfe-plugin
|
||||||
|
TFE_PROXY_STAT_INCREASE(STAT_STREAM_INCPT_UP_BYTES, inbuff_len);
|
||||||
|
_stream->upstream_rx_offset += inbuff_len;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Delete the following code when support calling the tfe-plugin
|
||||||
|
TFE_PROXY_STAT_INCREASE(STAT_STREAM_INCPT_BYTES, inbuff_len);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user